gpt4 book ai didi

c# - 遇到某个值时如何更改DataGrid行的颜色?

转载 作者:太空宇宙 更新时间:2023-11-03 11:05:49 25 4
gpt4 key购买 nike

我有以下数据网格:

<DataGrid AutoGenerateColumns="False" Name="dgPanelLogs">
<DataGrid.Columns>
<DataGridTextColumn Header="ID" SortMemberPath="ID"
x:Name="columnID"
Binding="{Binding Path=ID}"
IsReadOnly="True"
Width="50*"
SortDirection="Descending" >
</DataGridTextColumn>

<DataGridTextColumn Header="Time" SortMemberPath="Time"
x:Name="columnTime"
Binding="{Binding Path= Time, StringFormat='{}{0:dd/MM/yyyy HH:mm:ss}'}"
IsReadOnly="True"
Width="140*"
SortDirection="Descending">
</DataGridTextColumn>

<DataGridTextColumn Header="Event" SortMemberPath="Event"
x:Name="columnMessage"
Binding="{Binding Path=Message}"
IsReadOnly="True"
Width="350*"
SortDirection="Descending" >
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>

我的新要求是在遇到特定值时将行更改为红色。具体来说,我必须为每一行的数据检索一个新的 bool 值,如果为真,我需要将该行的文本设置为红色。

执行此操作的最佳方法是什么?

最佳答案

最好的方法是使用样式。

<DataGrid.Resources>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<DataTrigger Binding="{Binding Alarm}" Value="True">
<Setter Property="Foreground" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.Resources>

我现在无法测试。我认为您必须在绑定(bind)上设置一个 RelativeSource。

关于c# - 遇到某个值时如何更改DataGrid行的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15875040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com