从 Excel 粘贴到 WPF DataGrid

问题描述 投票:0回答:2

我有一个 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?
    }
}
c# wpf datagrid clipboard paste
2个回答
8
投票

这并不容易做到
您应该使用

ClipboardHelper

解析剪贴板数据 看看这个问题


0
投票

我找到了一种将数据从 Excel 粘贴到 DataGrid 的解决方案,该解决方案非常适合我的目的。

看看这个网站

© www.soinside.com 2019 - 2024. All rights reserved.