For WPF, Data Grid I am trying to copy to clipboard my custom text data, after Ctrl+C
Diverse attempts to use override
OnCopyingRowClipboardContent(DataGridRowClipboardEventArgs args)
or CopingRowClipboardContent event
, don't help.
Either clipboard gets empty or standard row text, but not what I would like to put there. For instance
protected override void OnCopyingRowClipboardContent(DataGridRowClipboardEventArgs args)
{
Clipboard.SetText("Abc-hello");
bool b1 = Clipboard.ContainsText();
string s1 = Clipboard.GetText();
}
s1
gets desired text, but after going out of this method clipboard gets empty.
Any idea if one can solve this?
the correct way is add on XAML grid this property
ClipboardCopyMode="ExcludeHeader"
and for each property you want copy add this XAML
<DataGridTemplateColumn ClipboardContentBinding="{Binding XXXXXX} .....
other facultative step is implement the dataGrid event CopyingRowClipboardContent to modify the clipoard data
You need to set the ClipboardRowContent property of DataGridRowClipboardEventArgs
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"));
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With