带图像的WPF自定义控件。

时间:2010-04-10 15:39:06

标签: wpf image xaml custom-controls

我对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新手问题。

1 个答案:

答案 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>