在WPF中将动态创建的Bitmap对象绑定到Image

时间:2011-09-27 02:20:23

标签: c# .net wpf xaml data-binding

我有一个不是静态资源的位图对象。通常,使用WPF中的图像绑定,您可以绑定到字符串路径。但是,我有一个动态创建的位图对象,我想绑定到该对象。是否可以做类似的事情:

<WrapPanel x:Name="imageWrapPanel" HorizontalAlignment="Center">
    <Image Source="{Binding Material1}" Margin="10" />
    <Image Source="/NightVision;component/Images/concrete_texture.tif" Margin="10" />
</WrapPanel>

在代码隐藏文件中,我有一个公共访问者:

public Bitmap Material1 { 
    get 
    { 
         return new Bitmap(/* assume created somewhere else*/) 
    } 
}

以上显然不起作用,有没有办法做类似的事情?

2 个答案:

答案 0 :(得分:3)

类似的问题已经得到了回答..使用ValueConverters ..检查一下:

WPF Image UriSource and Data Binding

答案 1 :(得分:3)

您唯一需要做的就是将Bitmap转换为可以在ImageSource控件中使用的Image。因此,在绑定中,您可以添加Converter来完成该操作。转换的实施可能会在this question的答案中找到。

(如果您有机会直接使用BitmapImage(WPF)代替Bitmap(WinForms),那可能是个不错的主意)