gpt4 book ai didi

c# - 如何在绑定(bind)中将 FallbackValue 设置为外部图像文件的路径?

转载 作者:太空狗 更新时间:2023-10-29 17:30:33 25 4
gpt4 key购买 nike

我正在尝试设置 FallbackValue 以防无法调用我的转换器,但我不确定该怎么做。

<Image Source="{Binding FallbackValue="Pictures/Unknown.png", Path=LatestPosition.DeviceFamily, Converter={x:Static conv:ConverterSet.DeviceTypeToImageSourceconverter}}" Name="image1" Stretch="Fill" Margin="5,8" Width="150" Height="150" Grid.RowSpan="4" />

转换器中外部图像的路径看起来像这样,当 LatestPosition!=null 图像以正确的方式设置。

private static readonly ImageSource Dev1 = new BitmapImage(new Uri("/Pictures/dev1.png", UriKind.Relative));
private static readonly ImageSource Dev2 = new BitmapImage(new Uri("/Pictures/dev2.png", UriKind.Relative));

最佳答案

对于 Image 控件,当您将 Source 属性与 URI 字符串绑定(bind)时,它会自动将 URI 转换为 BitmapImage。但是,如果将 FallbackValue 和 TargetNullValue 设置为 URI 字符串,它不会显示。

您需要将其设置为 BitmapImage:

<Window.Resources>
<BitmapImage x:Key="DefaultImage" UriSource="/Resources;component/Images/Default.jpg" />
</Window.Resources>

<Image Width="128"
Height="128"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Source="{Binding Photo,FallbackValue={StaticResource DefaultImage},
TargetNullValue={StaticResource DefaultImage}}" />

当我们将 FallbackValue 和 TargetNullValue 设置为 BitmapImage 的 StaticResource 时,它有效。

关于c# - 如何在绑定(bind)中将 FallbackValue 设置为外部图像文件的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17316892/

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