我有一个带有DataGridTextColumn的DataGrid。如果该列的文本为空,我希望显示红色边框。
如果我使用DataGridCell作为Style的TargetType,我可以设置边框的属性。但是DataGridCell没有可以用来触发样式的text属性。我也尝试使用Content,但此属性也不存在:
<DataGridTextColumn Header="MyValue" Binding="{Binding MyValue, UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="???" Value="">
<Setter Property="BorderBrush" Value="Red"/>
<Setter Property="BorderThickness" Value="1 1 1 1"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
如果我使用TextBlock作为样式的TargetType,我可以使用属性文本来触发样式。但是TextBlock没有用于边框的属性来设置边框样式:
<DataGridTextColumn Header="MyValue" Binding="{Binding MyValue, UpdateSourceTrigger=PropertyChanged}" IsReadOnly="False">
<DataGridTextColumn.CellStyle>
<Style TargetType="TextBlock">
<Style.Triggers>
<Trigger Property="Text" Value="">
<Setter Property="???" Value="Red"/>
<Setter Property="???" Value="1 1 1 1"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
如果datagridtextcolumn是空的,我如何获得红色边框?
2条答案
按热度按时间0dxa2lsx1#
如果希望在DataGridTextColumn的文本为空时显示红色边框,可以使用CellTemplate并使用Datatrigger作为Border并将其绑定到文本。您的XAML代码已更新:
vdgimpew2#
若要在DataGridTextColumn的文本为空时实现所需的显示红色边框的行为,可以使用DataTrigger并将其绑定到DataGridCell样式内TextBlock的Text属性。下面是XAML代码的更新版本: