0
我有一個右鍵單擊我的DataGrid控件的上下文菜單。其中一個菜單項是「全部複製」。當用戶點擊「全部複製」時,它應該將所有數據網格內容複製到剪貼板,以便用戶可以將其粘貼到Excel中。在調用SelectAllCells()後恢復datagrid中的原始選擇
我在看ApplicationCommands.Copy命令,但似乎只適用於選定項目。所以我想在我的命令處理程序來選擇所有單元格,執行復制命令,然後取消選擇所有單元格:
SelectAllCells();
ApplicationCommands.Copy.Execute(null, this);
UnselectAllCells();
但是,如果用戶選擇幾行(例如行1,3和5)什麼,並點擊「全部複製「。在這種情況下,我應該在選擇所有單元格並執行復制命令後恢復其選擇。我怎樣才能做到這一點?
謝謝!有用。可能只有一點我有。我將得到InvalidOperationException(只能在多種選擇模式下更改SelectedItems集合,在單選模式下使用SelectedItem。)如果我的DataGrid的SelectionMode設置爲Single,則在dg.SelectedItems.Add(selectedItem)行中。所以我認爲我應該在foreach循環後恢復原始SelectionMode以避免此異常。 – AndreyS 2015-03-16 12:31:52
是的,你是對的。很高興它的工作原理 - 如果你對此感到滿意,你會介意接受答案嗎? – 2015-03-16 14:37:39