1

特定のデータグリッド列を読み取り専用にするのに問題があります。

XML

<DataGrid x:Name="fieldsDataGrid" AutoGenerateColumns="true"></DataGrid>

C# コード

List<Field> fields = TestingClass.generateTestFields() // Generates the list
fieldsDataGrid.ItemSource = fields; 

// I tried both ways
FieldsDataGrid.Columns[0].isReadOnly = true;
FieldsDataGrid.Columns["Tokens"].isReadOnly = true; // Tokens is the column name

私が試み FieldsDataGrid.Columns[0].isReadOnly = true;たこと この場合、インデックスが範囲外になることになりました。デバッグしたときのように見えます 列は空でしたか? 私が電話したとき、なぜそれは空ですfieldsDataGrid.ItemSource = fields

これがこれを実装するための間違った方法である場合は、より良いオプションを提案してください!

お手伝いありがとう!

編集

XML に追加しましたが、AutoGeneratedColumns = "true"まだ同じエラーが発生しています。

4

1 に答える 1

4

列を自動生成している場合は、AutoGeneratingColumnイベントを使用して列の読み取り専用プロパティを設定します。列を手動で追加する場合、IsReadOnlyプロパティは作成時に列名から直接アクセスできる必要があります。

于 2013-09-19T18:46:17.483 に答える