Wpf 如何更改显示内容以使其与DataGrid中的ItemsSource不匹配?
我有一个DataGrid,其中DataContext是具有许多属性的对象列表 所有列都绑定到所述对象类型的不同属性 有一个文本属性,我只关心另一个bool属性是否设置为“true”-当它设置为“false”时,我根本不想显示文本属性 你有什么建议吗 我在想一些大致如下的事情:Wpf 如何更改显示内容以使其与DataGrid中的ItemsSource不匹配?,wpf,datagrid,itemssource,Wpf,Datagrid,Itemssource,我有一个DataGrid,其中DataContext是具有许多属性的对象列表 所有列都绑定到所述对象类型的不同属性 有一个文本属性,我只关心另一个bool属性是否设置为“true”-当它设置为“false”时,我根本不想显示文本属性 你有什么建议吗 我在想一些大致如下的事情: foreach (var cur in DG.ItemsSource) { if (!cur.BoolThatSignifiesIfICareAboutOtherProperty) { //some code tha
foreach (var cur in DG.ItemsSource) {
if (!cur.BoolThatSignifiesIfICareAboutOtherProperty) {
//some code that will make the cell for cur.PropertyIMayOrMayNotCareAbout
//appear empty even though that property does have a value that the column
//is bound to
}
}
**编辑**
有人建议我使用数据触发器。这就是我尝试过的,但也不起作用。也没有任何错误,所以我不知道我做错了什么
这是我到目前为止所拥有的。不过,它不起作用。请让我知道我做错了什么:
<DataGridTextColumn Header="EndDate" Binding="{Binding Path=EndDate, Converter={StaticResource DT2D}}">
<DataGridTextColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=DoICare}" Value="False">
<Setter Property="Content" Value=" " />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
我就是这样解决的-我只是把一些标签弄错了:
<DataGridTextColumn Header="EndDate" Binding="{Binding Path=EndDate, Converter={StaticResource DT2D}}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=DoICare}" Value="False">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
您正在寻找一个DataTrigger
@HighCore,所以我以前从未使用过DataTrigger。这是我认为对我想要的最有意义的,但它不起作用。它实际上并没有使单元格显示为空-它仍然显示数据:-我将把它作为问题的编辑发布,因为我没有意识到在这里点击“回车”会发布评论,而不是让我输入更多