IM使用在RT期间填充数据的数据网格(我使用mvvm)。 我将数据网格绑定到观察者集合,该集合在RT期间使用值进行更新。
其中一个字段是isKey。如果此值为true,我想显示一些键的图标。 我怎么能这样做?
我需要在键为真时添加图标。
这是我的代码
模型
public bool IsKey { get; set; }
public string Column2 { get; set; }
public string Column3 { get; set; }
{
public ViewModel()
{
this.Items = new List<MyClass>();
//row 1:
this.Items.Add(new MyClass { IsKey= true,Column2 = "aaaa",Column3 = "ddfa",Column4 = "fddsfas",Column5 = "dfadsfas"});
//row 2:
this.Items.Add(new MyClass { IsKey = false ,Column2 = "aaaa",Column3 = "ddfa",Column4 = "fddsfas",Column5 = "dfadsfas"});
}
xaml
</DataGridTemplateColumn>
<DataGridTextColumn Binding="{Binding isKey}" Header="2" Width="*" />
<DataGridTextColumn Binding="{Binding Column2}" Header="2" Width="*" />
<DataGridTextColumn Binding="{Binding Column3}" Header="3" Width="*" />
<DataGridTextColumn Binding="{Binding Column4}" Header="4" Width="*" />
答案 0 :(得分:1)
您需要DataGridTemplateColumn
。设置其CellTemplate
以包含ContentControl
,其中内容将为空,以防IsKey值为false,并在IsKey 的值为true时将其设置为Icon。
<DataGridTemplateColumn IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ContentControl x:Name="content"/>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding IsKey}" Value="True">
<Setter TargetName="content" Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Image Source="IconSourcePath" Height="30"/>
</DataTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>