h__*_*h__ 9 c# wpf binding converter fallbackvalue
我正在尝试设置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" />
Run Code Online (Sandbox Code Playgroud)
转换器中外部图像的路径看起来像那样,当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));
Run Code Online (Sandbox Code Playgroud)
小智 28
对于Image控件,当您使用URI字符串绑定Source属性时,它会自动将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}}" />
Run Code Online (Sandbox Code Playgroud)
当我们将FallbackValue和TargetNullValue设置为BitmapImage的StaticResource时,它可以工作.