2つのシナリオがあります。wpf datagridセルが編集モードにあるかどうかを確認するには?
あなたが行を選択し、行を削除するには、キーを削除します押してください。
セルを選択し、そのテキストが強調表示されているときに、削除キーを押してテキストを削除します。
どのように2つを区別しますか?どちらの場合も、私はPreviewKeyPressをキャッチし、キーはDeleteキーです、選択された行は同じです。
2つのシナリオがあります。wpf datagridセルが編集モードにあるかどうかを確認するには?
あなたが行を選択し、行を削除するには、キーを削除します押してください。
セルを選択し、そのテキストが強調表示されているときに、削除キーを押してテキストを削除します。
どのように2つを区別しますか?どちらの場合も、私はPreviewKeyPressをキャッチし、キーはDeleteキーです、選択された行は同じです。
キー押下のソースを識別するため、PreviewKeyPress(..)
でe.OriginalSource
を捕捉しDataGridRow
又はDatagridCell
にキャストが成功したかどうかを確認。
DataGrid
は、IsReadOnly
プロパティを持っています。
DataGridCell
のIsEditing
propertyを選択してください。私はあなたが行全体を選択した場合、選択されたセルが存在するか、選択されたセルでIsEditingがfalseになると仮定します(複数選択時にセルを編集できるとは思わないので)。
行を選択すると、最初の列のセルが自動的に選択され、編集モードになりますが、この方法は機能しません。
'{Binding Path = Something、Mode = TwoWay}'のようなものを使用していますか? –
((System.Windows.RoutedEventArgs)(e))OriginalSourceはSystem.Windows.Controls.DataGridCellです。私がチェックしたものです。できます。それ以外の場合は、TextBox(DataGridTextColumnのアイテムレンダラー) – WhoIsNinja
はい、Textboxはテンプレート化された列またはtextcolumnの場合に発生する可能性があります。それが助けてくれてうれしい。 –