【发布时间】:2017-02-27 14:18:43
【问题描述】:
我有一个文章集合,其中一些有价格,而另一些则没有。
当价格可用时,我希望我的数据网格显示它,即使它是 0。
当文章中的价格无法显示时,默认值为 0,我不希望它出现在数据网格中,并且单元格应该是只读的。
这是我尝试过的:
<DataGridTextColumn Header="PU" Binding="{Binding PU, UpdateSourceTrigger=PropertyChanged}">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding Mesurage.HasPrice}" Value="False">
<Setter Property="Focusable" Value="False"/>
<Setter Property="TextBlock.Text" Value="{Binding PU, StringFormat=0;;#, UpdateSourceTrigger=PropertyChanged}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
我使用了 StringFormat 来隐藏 0,但它仍然显示在我的网格中。此外,无法在触发器中修改 IsReadOnly 属性,因此我改用 Focusable 属性。
有没有办法只在 XAML 中实现想要的结果?谢谢。
【问题讨论】: