0

WPF のデータグリッド コントロールにチェックボックス列を追加しようとしています。

私はこれを Windows.Forms で実行しましたが、非常にうまく機能します。

だから今、私は将来のために新しいプログラムをWPFで書きたいと思っています。

私がやりたい私のやり方:データはデータベースからデータセットとして取得されます。

一部のフィールドには、チェックボックスとして表示したい値があります。データグリッドの autocreatecolumn を true に設定すると、データが表示されます。

ここで、値を表示する列を削除し、チェックボックス列を追加します。

それは可能ですか、またはデータテンプレートを介して列を作成する必要がありますか?

4

2 に答える 2

1

WPF DataGrid は、データ オブジェクトのパブリック プロパティに従って列を自動的に生成する AutoGenerateColumns と呼ばれる機能を提供します。値のタイプに基づいて次のタイプの列が生成され、何もする必要はありません。

1. TextBox columns for string values
2. CheckBox columns for boolean values
3. ComboBox columns for enumerable values
4. Hyperlink columns for Uri values
于 2012-10-27T10:41:56.473 に答える
0

You can subscibe to AutoGeneratingColumn event and change the column that is being generated:

public MyWindow(){
       myDataGrid.AutoGeneratingColumn += AutoGeneratingColumnHandler;
}

private void AutoGeneratingColumnHandler(object sender, DataGridAutoGeneratingColumnEventArgs e) {
        var bindingPath = ((e.Column as DataGridBoundColumn).Binding as Binding).Path.Path;
        if (bindingPath == "MYPATH") {
              var checkBoxColumn = new DataGridCheckBoxColumn();
              checkBoxColumn.Binding = new Binding(bindingPath);
              e.Column = checkBoxColumn;
        }
 }
于 2012-10-26T05:19:30.607 に答える