Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 在运行时更改图像源不会显示图像_Wpf_C# 4.0_Binding_Ivalueconverter_Imagesource - Fatal编程技术网

Wpf 在运行时更改图像源不会显示图像

Wpf 在运行时更改图像源不会显示图像,wpf,c#-4.0,binding,ivalueconverter,imagesource,Wpf,C# 4.0,Binding,Ivalueconverter,Imagesource,我试图在ListBox.ItemTemplate中显示图像。根据其绑定值,绑定值是对象的状态(挂起、检索、发布、完成或出错),下面是Image元素的XAML <Window.Resources> <local:StatusImageConverter x:Key="StatusImage" /> </Window.Resources> <Image Source="{Binding Path=Status, Converter={StaticR

我试图在ListBox.ItemTemplate中显示图像。根据其绑定值,绑定值是对象的状态(挂起、检索、发布、完成或出错),下面是Image元素的XAML

<Window.Resources>
    <local:StatusImageConverter x:Key="StatusImage" />
</Window.Resources>

<Image Source="{Binding Path=Status, Converter={StaticResource StatusImage}}" />
这会生成/编译并正常运行,但当状态更改时,图像不会显示在TemplateItem中。我在我的类中使用INotifyPropertyChanged接口,因此该接口知道属性何时自动更改,因此我可以立即知道这不是问题:)

<>我曾在谷歌大学学习过,在原理上遇到了很多问题,但在使用转换器接口和项目资源时没有找到解决方案。

有人能帮忙吗?提前谢谢


我的其他所有IValueConverter类都工作得很好,只是这一类不行。

我怀疑问题可能在于您使用的标准位图类,它不是ImageSource派生的类型

您需要使用ImageSource类型:

如果您不了解包URI,请参阅以下内容:

尝试返回位图中的位图源类型

要更改的位:

[ValueConversion(typeof(PreTripItem.PreTripItemStatus), typeof(BitmapSource))] 
并返回位图图像,如中所示:

return new BitmapImage(new Uri("pack://application:,,,/Resources/Image1.png"));

这已经奏效了,谢谢。你回答的唯一缺点是我现在必须学习Uri的LOL谢谢,关于Pack Uri的MSN文章非常有用
return new BitmapImage(new Uri("pack://application:,,,/Resources/Image1.png"));