DataGridで1つのセルのみを選択できるようにしたい。複数選択を無効にしても、セルの範囲を選択することはできますが、単一セルの選択のみを許可したいと思います。プロパティを介してこれを行う方法はありますか?または、選択をインターセプトして、1つのセル以外のすべてを除外する必要がありますか?
2 に答える
DataGridには、:と組み合わせてタイプのSelectionUnitプロパティがあります。DataGridSelectionUnitSelectionMode
SelectionModeプロパティとSelectionUnitプロパティは、DataGridの選択動作を一緒に定義します。
に設定SelectionUnitしてみてくださいCell。これは両方のSelectionMode値で機能します。
選択モードが拡張の場合、ユーザーは、項目タイプがSelectionUnitプロパティで定義されている複数の項目を選択できます。選択モードがシングルの場合、ユーザーは単一のアイテムのみを選択できます。
単一のセルを選択するにSelectionModeは、SingleおよびSelectionUnitのを使用しCellます。
SelectionModeプロパティとSelectionUnitプロパティは、ユーザーがDataGrid内のアイテムを選択する方法を一緒に決定します。たとえば、SelectionModeがSingleで、SelectionUnitがCellの場合、ユーザーはDataGridで一度に1つのセルしか選択できません。
DataGridのSelectionUnitを設定する必要があります。1つの選択ユニットのスコープを定義します。Cell、CellAndRowHeader、FullRowに設定できます。
例:
<DataGrid ItemsSource="{Binding Customers}" SelectionMode="Single" SelectionUnit="Cell" />