У меня есть DataGrid (называемый TheGrid), для которого я хотел бы реализовать функцию копирования и вставки. Функциональность копирования прекрасно работает, но я не знаю, как реализовать вставку. Нужно ли мне просто получать данные из буфера обмена и анализировать себя?
Привязки команд:
<Window.CommandBindings>
<CommandBinding Command="Copy" Executed="CommandBinding_Executed" CanExecute="CommandBinding_CanExecute" />
<CommandBinding Command="Paste" Executed="CommandBinding_Executed" CanExecute="CommandBinding_CanExecute" />
</Window.CommandBindings>
Пункты меню:
<MenuItem Header="{x:Static culture:TextResource.CopyMenuItem}" Command="Copy"/>
<MenuItem Header="{x:Static culture:TextResource.PasteMenuItem}" Command="Paste"/>
Код для CommandBinding_Executed:
private void CommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
{
if(e.Command.Equals(ApplicationCommands.Copy))
{
// This works great, wow that was easy!
ApplicationCommands.Copy.Execute(null, TheGrid);
}
else if (e.Command.Equals(ApplicationCommands.Paste))
{
//What do I do here? Is there an easy way to paste like there was for copy?
// Or do I need to grab data using Clipboard.GetData and parse it myself?
}
}