我对WPF/XAML
很新,我目前遇到了问题。
我有一个包含两个项目的解决方案,第一个项目是一个自定义控件库,里面有一个自定义窗体控件。第二个项目是使用我的自定义窗口表单的WPF应用程序。
除了表格图标外,所有工作正常。在WPF应用程序项目中,我将窗口图标属性设置为/ProjectTwoNameSpace;component/Resources/Images/Film.ico
,并在WPF自定义控件中尝试以这种方式显示该图像:
<Image Grid.Column="0" Margin="3" Width="27" Height="27">
<Image.Source>
<BitmapImage UriSource="{Binding Path=Icon}" />
</Image.Source>
</Image>
但它不起作用,我在运行时收到错误,说明必须为我的UriSource
标记设置属性StreamSource
或<Image>
。
任何人都可以帮助我吗?我认为这是一个WPF新手问题。
答案 0 :(得分:1)
UriSource
的{{1}}属性无法设置,因为它是Uri类型,并且您尝试将其设置为字符串。我想说完成你正在做的最简单的方法是将你的Image.Source绑定到Icon,然后将字符串转换为位图Image对象。假设您的控件在窗口中,这看起来像这样
BitmapImage
然后转换器看起来像:
<Window.Resources>
<converters:StringToBitmapImageConverter x:Key="stringToBitmapImageConverter" />
</Window.Resources>
...
<Image Grid.Column="0" Margin="3" Width="27" Height="27"
Source="{Binding Path=Icon, Converter={StaticResource stringToBitmapImageConverter}}">
</Image>