2011-07-20 16 views
82

私はWindows Presentation Foundationでデータグリッドを構築していますが、問題があります。ユーザーがデータグリッド内のセルをダブルクリックすると、セルは編集モードになります。私はそれを防止したい。代わりに、ユーザーが完全な行を選択できるようにします。値を編集するのではなく、WPF Datagridでセルの編集を無効にするにはどうすればよいですか?

クリックしたセルを編集モードにする代わりに、ダブルクリックで完全な行を選択できるようにするにはどうすればよいですか?

答えて

189

WPF DataGridにはに設定できるIsReadOnlyプロパティがあり、ユーザーがDataGridのセルを編集できないようにします。

この値は、必要に応じてDataGridの個々の列に設定することもできます。

+1

グリッドがグレー表示になっていて、無効状態であるように見える - winformsの読み取り専用状態に似ていない。 –

+2

私はBuda Florinに同意します。 ReadOnlyに設定すると、無効になっているように見えるようになります。 ReadOnlyは通常、コピーするテキストを選択できるため、DisabledとReadOnlyは異なります。 DataGridをReadOnlyに設定すると、セル内のテキストを選択できなくなります。 – Nick

+0

@LeslieDaviesどうしたらそれらを無効にしたいのですが、Delキーを押したときにDataGridからアイテムを削除することもできますか? –

39

データグリッドは、あなたがtrueに設定することができますXAMLプロパティIsReadOnlyがあります

<my:DataGrid 
    IsReadOnly="True" 
/> 
1

あなたはグリッド全体の編集を無効にしたい場合は、グリッド上の真にIsReadOnlyの設定することができます。 新しい行を追加し、ユーザーを無効にしたい場合は、あなたが

<DataGrid IsReadOnly="True" CanUserAddRows="False" /> 

プロパティCanUserAddRowsは=「false」に設定さらに多くの編集を無効にするには、個々の列にIsReadOnlyのを設定することができます。

関連する問題