加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 当选择一个单元格时,如何突出显示DataGrid的ColumnHeader

发布时间:2020-12-15 21:44:29 所属栏目:百科 来源:网络整理
导读:我微软Excel,当选择一个单元格或一组单元格时,将突出显示colums的标题和行的标题.如何在wpd DataGrid中实现类似功能? 我想我应该处理DataGrid.SelectionChanged事件,但我不知道如何继续.任何帮助表示赞赏. 解决方法 我认为最简单的方法是使用SelectedCellsC
我微软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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读