从Excel粘贴到WPF DataGrid

Kri*_*rip 13 c# wpf clipboard datagrid paste

我有一个DataGrid(称为TheGrid),我想在其上实现复制和粘贴功能.复制功能很好但我不知道如何实现粘贴.我只需要从剪贴板中获取数据并自己解析吗?

命令绑定:

<Window.CommandBindings>
    <CommandBinding Command="Copy" Executed="CommandBinding_Executed" CanExecute="CommandBinding_CanExecute" />
    <CommandBinding Command="Paste" Executed="CommandBinding_Executed" CanExecute="CommandBinding_CanExecute" />
</Window.CommandBindings>
Run Code Online (Sandbox Code Playgroud)

菜单项:

<MenuItem Header="{x:Static culture:TextResource.CopyMenuItem}" Command="Copy"/>
<MenuItem Header="{x:Static culture:TextResource.PasteMenuItem}" Command="Paste"/>
Run Code Online (Sandbox Code Playgroud)

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?
    }
}
Run Code Online (Sandbox Code Playgroud)

Nav*_*ani 8

这并不容易
你应该解析剪贴板数据,ClipboardHelper
看看这个问题

  • 啊,那个只有链接的答案足够好的日子.谢谢! (2认同)