gpt4 book ai didi

.net - 图像 UriSource 和数据绑定(bind)

转载 作者:行者123 更新时间:2023-12-03 05:35:06 26 4
gpt4 key购买 nike

我正在尝试将自定义对象列表绑定(bind)到 WPF 图像,如下所示:

<Image>
<Image.Source>
<BitmapImage UriSource="{Binding Path=ImagePath}" />
</Image.Source>
</Image>

但是这不起作用。这是我收到的错误:

“必须设置属性“UriSource”或属性“StreamSource”。”

我错过了什么?

最佳答案

WPF 具有针对某些类型的内置转换器。如果将图像的 Source 属性绑定(bind)到 stringUri 值,则 WPF 在幕后将使用 ImageSourceConverter将值转换为 ImageSource

所以

<Image Source="{Binding ImageSource}"/>

如果 ImageSource 属性是图像有效 URI 的字符串表示形式,则有效。

您当然可以推出自己的绑定(bind)转换器:

public class ImageConverter : IValueConverter
{
public object Convert(
object value, Type targetType, object parameter, CultureInfo culture)
{
return new BitmapImage(new Uri(value.ToString()));
}

public object ConvertBack(
object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
}

并像这样使用它:

<Image Source="{Binding ImageSource, Converter={StaticResource ImageConverter}}"/>

关于.net - 图像 UriSource 和数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com