在WPF中绑定动态创建的位图对象到图像

本文关键字:位图 对象 图像 创建 WPF 绑定 动态 | 更新日期: 2023-09-27 18:09:59

我有一个不是静态资源的位图对象。通常,使用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*/) 
    } 
}

上面显然不起作用,但是,有一种方法可以做类似的事情吗?

在WPF中绑定动态创建的位图对象到图像

您唯一需要做的就是将Bitmap转换为可以在Image控制中使用的ImageSource。所以在你的绑定中,你可以添加Converter来完成这个。转换的实现很可能在这个问题的答案中找到。

(如果您有机会直接使用BitmapImage (WPF)而不是Bitmap (WinForms),这可能是一个好主意)