2016-08-18 95 views
0

我正在使用下面定義的標準數據網格。在完成一些計算後,itemssource綁定在代碼中。Ctrl + C不復制到剪貼板的WPF DataGrid

 <DataGrid Name="TimeDataGrid" Block.TextAlignment="Center" FontSize="14" SelectionMode="Extended" SelectionUnit="Cell" ClipboardCopyMode="ExcludeHeader" AutoGeneratingColumn="OFMDataGrid_AutoGeneratingColumn"> 
      <DataGrid.ContextMenu> 
       <ContextMenu> 
        <MenuItem Command="Copy"/> 
       </ContextMenu> 
      </DataGrid.ContextMenu> 
       <DataGrid.InputBindings> 
        <KeyBinding Key="C" Modifiers="Control" Command="Copy" /> 
       </DataGrid.InputBindings> 
     </DataGrid> 

我遇到的問題與複製數據有關。當我按Ctrl + A選擇所有單元格並右鍵單擊時,複製它將選擇數據並將其添加到剪貼板。但是,如果我使用ctrl + c,則沒有任何內容被放入剪貼板。

這是我第一次在這裏發佈,我已經閱讀了幾乎所有的建議,從最簡單的應用命令添加到修改oncopytoclipboard類型的事件,似乎沒有任何工作。我覺得我錯過了一些顯而易見的東西。

謝謝任何​​能夠幫助的人。

+0

看看這有助於:http://stackoverflow.com/a/12943306 – Xiaoy312

+0

你需要確保你的Keyborad重點是你想要的地方。我不確定那是怎麼回事。但我100%肯定這是與鍵盤焦點在哪裏有關。 –

+0

像這樣的東西http://stackoverflow.com/questions/12866392/wpf-setting-keyboard-focus-in-a-user-control-problems-with-keybinding –

回答

0

試試這個:

<!-- This is required to handle CTRL + C when something is selected in the DataGrid --> 
    <DataGrid.CommandBindings> 
     <CommandBinding Command="Copy" Executed="CopyCommand" /> 
    </DataGrid.CommandBindings> 

    <!-- This is required to handle CTRL + C when something is selected in the DataGrid --> 
    <DataGrid.InputBindings> 
     <KeyBinding Key="C" Modifiers="Control" Command="Copy" /> 
    </DataGrid.InputBindings>