我有:

public class Person
{
   String name { get; set; }
   String address { get; set; }
   bool isMarried { get; set; }
}


我的数据网格填充了人员列表。

我想要一个自定义列,其中当isMarriedtrue时显示icon-1.jpg,而当isMarriedfalse时显示icon-2.jpg。

我如何在WPF中执行此操作?有任何想法吗 ?

我知道如何做一个自定义列,但是我不知道如何用icon-1.jpg和icon-2.jpg关联isMarried的两个状态。

最佳答案

您可以在自定义列中使用DataTrigger来执行此操作:

<DataGridTemplateColumn Header="Married">
   <DataGridTemplateColumn.CellTemplate>
      <DataTemplate>
         <Image x:Name="IMG" Source="married_image" />
         <DataTemplate.Triggers>
            <DataTrigger Binding="{Binding Path=isMarried}" Value="False">
               <Setter Property="Source" Value="not_married_image" TargetName="IMG"/>
            </DataTrigger>
         </DataTemplate.Triggers>
      </DataTemplate>
   </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

10-06 05:14