WPF,自定义控件dll如何使用资源文件
创建了一个自定义控件的dll库,控件是继承自Button的MyButton,它只是添加了一张背景图片:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyButton">
<Style TargetType="{x:Type local:MyButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:MyButton}">
<Border>
<Border.Background>
<ImageBrush ImageSource="1.jpg" />
</Border.Background>
<ContentPresenter/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
生成dll之后,在另一个应用程序中添加此dll文件,并添加命名空间引用。但是,当在项目中添加一个自定义控件时,却报错:找不到资源“1.jpg”
我想问的是,当在dll中使用了资源文件时,该怎么办呢?是不是这个资源文件也要随着添加到应用程序中呢?如果是的话,使用dll之前,谁知道需要些什么资源文件啊,况且,资源文件添加到应用程序中的哪个路径下呢,也都是个未知数。
dll中使用了资源文件时,是怎么操作的呢?
------解决方案--------------------1.jpg要的生成操作要设置成Resrouce
------解决方案--------------------这样才能随同你的自定义控件一起编译到这个项目的dll中
------解决方案--------------------<ImageBrush ImageSource="1.jpg" />
这个uri的问题吧 试试这个 pack://application:,,,/Themes/1.jpg
<ImageBrush ImageSource="pack://application:,,,/Themes/1.jpg" />
------解决方案--------------------如果还不好使再试试这样
pack://application:,,,/你的dll名称;component/文件夹/1.jpg
------解决方案--------------------
楼主试试无妨 这个 报错:找不到资源“1.jpg”
症状比较明显是你的uri的问题啊
试试看吧