Вставить из Excel в WPF DataGrid

У меня есть 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?
    }
}

1 ответов


это нелегко сделать
Вы должны анализировать данные буфера обмена с помощью ClipboardHelper
взгляните на этот вопрос