WPF DataGrid,在Ctrl+;C、 OnCopyingRowClipboardContent
对于WPF,我正在尝试在WPF DataGrid,在Ctrl+;C、 OnCopyingRowClipboardContent,wpf,xaml,datagrid,clipboard,Wpf,Xaml,Datagrid,Clipboard,对于WPF,我正在尝试在Ctrl+C 使用覆盖的各种尝试 OnCopyingRowClipboardContent(DataGridRowClipboardEventArgs)或CopingRowClipboardContent事件,无需帮助 剪贴板要么为空,要么为标准行文本,但不是我想放在那里的内容。 比如说 protected override void OnCopyingRowClipboardContent(DataGridRowClipboardEventArgs args) {
Ctrl+C
使用覆盖的各种尝试
OnCopyingRowClipboardContent(DataGridRowClipboardEventArgs)
或CopingRowClipboardContent事件
,无需帮助
剪贴板要么为空,要么为标准行文本,但不是我想放在那里的内容。
比如说
protected override void OnCopyingRowClipboardContent(DataGridRowClipboardEventArgs args)
{
Clipboard.SetText("Abc-hello");
bool b1 = Clipboard.ContainsText();
string s1 = Clipboard.GetText();
}
s1
获取所需文本,但退出此方法后,剪贴板将变为空。
您知道是否可以解决这个问题吗?您需要设置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"));
}
正确的方法是在XAML网格上添加此属性
ClipboardCopyMode="ExcludeHeader"
对于要复制的每个属性,添加此XAML
<DataGridTemplateColumn ClipboardContentBinding="{Binding XXXXXX} .....