ネット4 WPFのDataGrid C#MMVMDataGrid SelectionUnit =選択された行のすべてのサポートを無効にしますか?
データバインディングとcollectionviewは私が積極的に選択した項目がビューののCurrentItemプロパティ経由で何のviewmodelに知らせるの世話をするWPFのDataGrid SelectionUnitは、完全な行です。これは、選択モードがフルローに設定されている読み取り専用グリッドで効果的です。
編集可能なグリッドがあります。だから私はSelectionUnit = Cellを設定して、どのセルが入っているのかを簡単に見分けることができます。今や、突然グリッドには選択項目を追跡する機能がありません。セルモードに設定されている場合、SelectedItemを設定することもできません。今、ビューモデルは常にそれが最初の行にあると思っています。 SelectedCellsChangedをグリッドで処理して、どの行を表示しているのか把握することができます。グリッドのSelectedItemを設定することができなくなったため、ビューモデルを認識させる方法がありません。
セル選択モードでグリッドにSelectedItemがまだ存在しない理由を理解できません。
私のグリッドにハードコーディングして、ItemCheckをSelectedCellsChangedイベントからMoveCurrentToを呼び出すために、自分のコレクションビューにキャストしようとすると、ビューのCurrentItemをグリッドと同期させる本当の方法がありますか?
いずれか、またはグリッドスタイルを変更して、編集可能なグリッドがあるときに行のハイライト効果を削除または減らします。
"ハードコード"が必要な場合は、インターフェイスを作成してください –
はい、これは私が今行っていることです。 – happyfirst
私は 'DataGrid'ソースを見て、' Cell'モードでは 'SelectedItem'と同期しません –