对于WPF,数据网格我正在尝试复制到剪贴板上我的自定义文本数据,在Ctrl+C各种尝试使用override OnCopyingRowClipboardContent(DataGridRowClipboardEventArgs args)或CopingRowClipboardContent event后,没有帮助。
剪贴板要么是空的,要么是标准的行文本,但不是我想放在那里的内容。例如
protected override void OnCopyingRowClipboardContent(DataGridRowClipboardEventArgs args)
{
Clipboard.SetText("Abc-hello");
bool b1 = Clipboard.ContainsText();
string s1 = Clipboard.GetText();
}s1可以获取所需的文本,但在退出此方法后,剪贴板将变为空。有没有办法解决这个问题?
发布于 2014-05-23 21:25:05
正确的方法是在XAML网格上添加此属性
ClipboardCopyMode="ExcludeHeader"对于要复制的每个属性,添加以下XAML
<DataGridTemplateColumn ClipboardContentBinding="{Binding XXXXXX} ..... 另一个临时步骤是实现dataGrid事件CopyingRowClipboardContent来修改剪贴板数据
发布于 2012-12-14 18:47:33
您需要设置DataGridRowClipboardEventArgs的ClipboardRowContent属性
static void dataGrid_CopyingRowClipboardContent(object sender, DataGridRowClipboardEventArgs e)
{
e.ClipboardRowContent.Clear();
e.ClipboardRowContent.Add(new DataGridClipboardCellContent(e.Item, (sender as DataGrid).Columns[0], "Abc-hello"));
}https://stackoverflow.com/questions/13876874
复制相似问题