前些日子,公司新需求需要对silverlight的datagrid进行局部任意单元格数据可复制,查阅了半天网络资料愣是没找到相关资料,开始还以为是silverlight的bug根部无法实现,

最后还是实现了。MSDN上也未曾记录这个事件,具体代码如下:

前段xaml文件 需要个datagrid绑定复制事件:

CopyingRowClipboardContent="dataGrid_CopyingRowClipboardContent"

后台代码实现如下:

 void dataGrid_CopyingRowClipboardContent(object sender,DataGridRowClipboardEventArgs e)
        {
            var temp = e.ClipboardRowContent;
            var dgData = sender as DataGrid;
            Int32 i = dgData.CurrentColumn.DisplayIndex;
            string sColumnValue = ((TextBlock)dgData.Columns[i].GetCellContent(dgData.SelectedItem)).Text.Trim();
            temp.Clear();
            temp.Insert(0, new DataGridClipboardCellContent(e.Item, dgData.CurrentColumn, sColumnValue));
        }

这样就能实现单元格复制了(也就是复制当前鼠标单击所在行所在咧 的单元格值),否则默认赋值是 复制一行 所有列数据。

相关文章:

  • 2021-10-13
  • 2022-01-09
  • 2022-02-23
  • 2022-12-23
  • 2021-10-01
  • 2022-12-23
  • 2021-06-07
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案