1
我有一個WPF4 DataGrid控件,它包含另一個DataGrid控件,它的RowDetailsTemplate。我在DataGrid控件上添加了一個PreviewKeyDown事件,並監視它們是否是鍵盤操作。 如果按鍵盤上的Delete鍵,我將刪除DataGrid控件中的SelectedItems。 我的問題是當我想刪除RowDetailsTemplate DataGrid控件中的一行。事件路由,父DataGrid中定義RowDetailsTemplate的行也被刪除。我知道這是因爲RoutedEvent.RoutingStrategy設置。 但我怎麼能只刪除RowDetailsTemplate DataGrid中的行? 謝謝。WPF4 DataGrid刪除RowDetailsTemplate的DataGrid中的行
我找到了我的應用程序的臨時解決方案。我使用OriginalSource查找DataGridCell中刪除按鈕的按鈕,然後通過WPF VisualTree查找DataGridControl包含DataGridCell。之後,我檢查DataGrid.Name,如果事件發件人名稱的名稱相同,則它是我需要使用的正確事件處理程序。否則,讓事件路由器到下一個元素。 – Alvin