DataGridで1つのセルのみを選択できるようにしたい。複数選択を無効にしても、セルの範囲を選択することはできますが、単一セルの選択のみを許可したいと思います。プロパティを介してこれを行う方法はありますか?または、選択をインターセプトして、1つのセル以外のすべてを除外する必要がありますか?
2 に答える
DataGrid
には、:と組み合わせてタイプのSelectionUnit
プロパティがあります。DataGridSelectionUnit
SelectionMode
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" />