gpt4 book ai didi

c# - DatagridRow IsSelected 不完全工作

转载 作者:行者123 更新时间:2023-11-30 21:44:01 25 4
gpt4 key购买 nike

我目前正在设计我的应用程序 (WPF),我正在尝试更改 DatagridRowIsSelected 的设计。

XAML:

<Style TargetType="DataGridRow" BasedOn="{StaticResource {x:Type DataGridRow}}">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="{StaticResource ForegroundSelectedRow}"/>
<Setter Property="Background" Value="{StaticResource BackgroundSelectedRow}"/>
</Trigger>
</Style.Triggers>
</Style>

当我将注意力集中在我的应用程序上时,此代码可以正常工作,但是当我使用 DataGrid 单击 View 时,我失去了前景(它采用另一种颜色)但背景是还是一样...

我不明白为什么只有一个可以工作,而另一个却不能...有人知道为什么吗?

编辑 1:

我没有任何 DataGrid.Resources。我在 App.xaml 中设置了我所有的样式:

<Style x:Key="DataGridStyle" TargetType="DataGrid" BasedOn="{StaticResource {x:Type DataGrid}}">
<Setter Property="AlternationCount" Value="2"/>
<Setter Property="AutoGenerateColumns" Value="False"/>
<Setter Property="IsReadOnly" Value="True"/>
<Setter Property="CanUserSortColumns" Value="True"/>
<Setter Property="CanUserAddRows" Value="False"/>
</Style>

然后我将它绑定(bind)到我的 DataGrid

<DataGrid ItemsSource="{Binding Collects}" Style="{StaticResource DataGridStyle}" ColumnHeaderStyle="{StaticResource DGHeaderMargin}"/>

最佳答案

您可以将 TargedType 更改为 DataGridCell 而不是 DataGridRow (WPF 4.0)

<DataGrid.Resources>
<Style TargetType="{x:Type dg:DataGridCell}">
<Style.Triggers>
<Trigger Property="dg:DataGridCell.IsSelected" Value="True">
<Setter Property="Foreground" Value="{StaticResource ForegroundSelectedRow}"/>
<Setter Property="Background" Value="{StaticResource BackgroundSelectedRow}"/>
</Trigger>
</Style.Triggers>
</Style>

解决方案 2

    <DataGrid.Resources> 
<Style TargetType="DataGridRow">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Red"/>
</Style.Resources>
</Style>
</DataGrid.Resources>

关于c# - DatagridRow IsSelected 不完全工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41139975/

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