gpt4 book ai didi

wpf - 在 DataGrid 的选定行中设置元素的前景色

转载 作者:行者123 更新时间:2023-12-04 14:14:58 26 4
gpt4 key购买 nike

我有一个定义如下的 DataGridTemplateColumn。如果选择了该行,我需要将两个文本 block 的前景属性更改为白色

<DataGrid.Columns>
<DataGridTemplateColumn Header="User" Width="240" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Margin="10,3,0,0" Foreground="#1c72c7" >
<Run Text="{Binding FullName, Mode=OneWay}" />
</TextBlock>
<Label Padding="0,0,0,0" Margin="0,0,0,3">
<TextBlock Foreground="#1c72c7" Margin="10,0,0,0" TextDecorations="Underline" Text="{Binding DisplayName}" />
</Label>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

我已经定义了一个 RowStyle 来改变行的背景颜色,如下所示

 <DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="{x:Static SystemColors.HighlightColor}" />
</Style.Resources>

</Style>

最佳答案

您应该为每个单独的 TextBlock 修改 Style,并添加您想要的行为,如下所示:

 <Style x:Key="FirstTextBlockStyle" TargetType="TextBlock">
<Setter Property="Foreground" Value="Black" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsSelected,
RelativeSource= {RelativeSource
AncestorType={x:Type DataGridRow}}}"
Value="True">
<Setter Property="Foreground" Value="White" />
</DataTrigger>
</Style.Triggers>
</Style>

关于wpf - 在 DataGrid 的选定行中设置元素的前景色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27902509/

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