[英]How to determine if wpf datagrid cell is in edit mode?
有兩種情況:
您選擇一行並按刪除鍵刪除行。
您選擇一個單元格,當其文本突出顯示時,您可以按刪除鍵刪除文本。
我如何區分兩者? 在這兩種情況下,我都抓住了 PreviewKeyPress 並且鍵是刪除鍵,所選行是相同的。
為了識別按鍵來源,在PreviewKeyPress(..)
捕獲e.OriginalSource
並檢查轉換到DataGridRow
或DatagridCell
是否成功。
DataGrid
具有IsReadOnly
屬性。
檢查選定的DataGridCell
的IsEditing
屬性,也許? 我假設,如果您選擇了一整行,則將沒有選定的單元格,或者選定單元格上的 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.