【发布时间】:2014-08-15 21:17:00
【问题描述】:
我有一个带状 WPF DataGrid,如果您选择顶部带,该行将变为蓝色以表示它是 selectedRow(默认情况下)。但是,当用户随后从第二个波段中选择一行时,我希望顶部波段的蓝色消失,因为这意味着 很难发现您在层次结构中进一步选择了哪一行。
这可以通过 XAML 或 C# 实现吗?
通过 XAML,我可以在每个波段上使用类似的东西 (RowDetailsTemplate)
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="IsSelected"
Value="True">
<Setter Property="BorderBrush"
Value="Blue" />
<Setter Property="BorderThickness"
Value="2" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
通过 c#,当他们点击一行时,我可以得到 selectedRow
DataGridRow selectedRow = DataGridRow.GetRowContainingElement(expandCollapseButton);
所以我有几种可能性,但我需要帮助才能获得“上一行然后将其取消着色”
干杯
【问题讨论】:
-
您能否分享一些当前和预期输出的屏幕?