簡體   English   中英

如何確定 wpf datagrid 單元格是否處於編輯模式?

[英]How to determine if wpf datagrid cell is in edit mode?

有兩種情況:

  1. 您選擇一行並按刪除鍵刪除行。

  2. 您選擇一個單元格,當其文本突出顯示時,您可以按刪除鍵刪除文本。

我如何區分兩者? 在這兩種情況下,我都抓住了 PreviewKeyPress 並且鍵是刪除鍵,所選行是相同的。

為了識別按鍵來源,在PreviewKeyPress(..)捕獲e.OriginalSource並檢查轉換到DataGridRowDatagridCell是否成功。

DataGrid具有IsReadOnly屬性。

檢查選定的DataGridCellIsEditing屬性,也許? 我假設,如果您選擇了一整行,則將沒有選定的單元格,或者選定單元格上的 IsEditing 將為 false(因為我不相信您可以在選擇多個單元格時編輯單元格)。

如果當您選擇一行時,它會自動選擇第一列中的單元格並將其置於編輯模式,則這種方法可能不起作用......但我目前無法測試。

在 DataGrid 的 OnPreviewKeyDown 中:

if ((this.CurrentItem as DataRowView).IsEdit == false && ...)
{
    // the row is in view mode
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM