私のコード内のDataTableに列と行を追加/削除しています。私のxamlコードでは、ItemsSourceがDataTableにバインドされているDataGridを持っていますが、DataGridは新規または削除された列を表示しません。行は正常に動作しています。ここでコードビハインドで追加したDataGridで、DataGridに新しい列が表示されないのはなぜですか?
が背後に私のコードです:
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
this.Table = new DataTable();
}
private DataTable _Table;
public DataTable Table
{
get { return this._Table; }
set { this._Table = value; }
}
public void AddColumn()
{
this.Table.Columns.Add("ColumnTest");
}
public void AddRow()
{
this.Table.Rows.Add();
}
XAML:
<DataGrid Name="dgdMain"
Grid.Column="1"
AutoGenerateColumns="True"
ItemsSource="{Binding Path=Table.DefaultView}">
</DataGrid>
行または列を追加する方法は、ボタンクリックイベントによって呼び出されます。バインドする前にいくつかの列を追加すると、列が正しく表示されます。
「ItemsSource = "{Binding Table}"」を試してください。これは、ビュー 'DataContext'を正しく設定したことを前提としています。 – MoonKnight
ありがとうございますが、それはまだ同じ問題です。 – stoermi