如何切换图像基于布尔可视性转换器

本文关键字:可视性 转换器 于布尔 何切换 图像 | 更新日期: 2023-09-27 18:06:08

在WPF数据网格中,我有一个datagridtemplatecoluml:

<DataGridTemplateColumn>
  <DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
      <Image Visibility="{Binding ShowImage, Mode=OneWay, Convert{StaticResource BooleanToVisibilityConverter}}" Source="{StaticResource Image1}" />
    </DataTemplate>
  </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

这列开始时没有图像。然后进行一些处理。如果ShowImage被指定为true,则显示一个图像。否则,不显示任何内容。

我如何在两个图像之间切换基于分配给ShowImage?

如何切换图像基于布尔可视性转换器

只是使用另一个转换器(也许你可以叫它BoolToImageCoverter),将分配一个图像,如果ShowImage为真和不同的图像,如果ShowImage为假。

您可以使用其他转换器,或者您可以使用Style.Triggers:

<Image Source="{StaticResource Image1}">
<Image.Style>
   <Style TargetType="{x:Type Image}">
      <Setter Property="Visibility" Value="Collapsed" />
      <Style.Triggers>
          <DataTrigger Binding="{Binding ShowImage}" Value="True">
             <Setter Property="Visibility" Value="Visible" />
          </DataTrigger>
       </Style.Triggers>
    </Style>
</Image.Style>
</Image>