如何根据BooleanToVisibilityConverter切换图像?

时间:2016-09-07 16:05:04

标签: c# wpf xaml datagrid

在WPF DataGrid中,我有一个DataGridTemplateColumn:

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

此列以无图像开头。然后进行一些处理。如果将ShowImage指定为true,则会显示图像。否则,没有显示任何内容。

如何根据ShowImage的分配在两个图像之间切换?

2 个答案:

答案 0 :(得分:0)

只需使用另一个转换器(也许你可以称之为BoolToImageCoverter),如果ShowImage为true,将分配一个图像,如果ShowImage为false,则分配不同的图像。

答案 1 :(得分:0)

您可以使用其他转换器,也可以使用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>