gpt4 book ai didi

c# - 选择单元格时,如何突出显示 DataGrid 列标题和行标题?

转载 作者:行者123 更新时间:2023-11-30 12:48:33 25 4
gpt4 key购买 nike

在 microsof Excel 中,当一个单元格或一组单元格被选中时,列的标题和行的标题将突出显示。如何在 wpd DataGrid 中实现类似的功能?

我想我应该处理 DataGrid.SelectionChanged 事件,但我不知道如何继续。任何帮助表示赞赏。

最佳答案

我认为最简单的方法是使用 SelectedCellsChanged 事件。

检查我的例子:

XAML 代码:

 <DataGrid Name="myData"
AutoGenerateColumns="True"
SelectionMode="Extended"
SelectionUnit="Cell"
SelectedCellsChanged="myData_SelectedCellsChanged"
/>

代码隐藏:

private void myData_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
foreach (var item in myData.Columns)
{
item.HeaderStyle = null;
}

if (myData.SelectedCells != null && myData.SelectedCells.Count != 0)
{
Style styleSelected = new Style();
styleSelected.Setters.Add(new Setter(Border.BackgroundProperty, new SolidColorBrush(Colors.Orange)));

foreach (var item in myData.SelectedCells)
{
item.Column.HeaderStyle = styleSelected;
}
}
}

如果您想要列之间的垂直线,您还可以在 styleSelected 中设置 Border.BorderBrushProperty 和 Border.BorderThicknessProperty。

关于c# - 选择单元格时,如何突出显示 DataGrid 列标题和行标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13891780/

25 4 0
文章推荐: c# - 将 ThreadStatic 字段与任务一起使用
文章推荐: c# - 获取带有文件夹路径的选定列表框值
文章推荐: c# - 将 List 添加到 EF