我微软Excel,当选择一个单元格或一组单元格时,将突出显示colums的标题和行的标题.如何在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.