MVVM パターンを使用した WPF アプリケーションがあります。私の見解の 1 つで、ビューにバインドする必要がありObservableCollection
ます。そのビューでは、私は1つとListBox
1つのDataGrid
両方を同じものにバインドしてObservableCollection
いますが、イベント、スタイルなどの異なることを行っています..
一度に表示する必要があるのはこれらのコントロールのうちの 1 つだけです。私が行ったことは、2 つのユーザー コントロール (1 つは 用DataGrid
、もう 1 つは 用) を作成したことですListBox
。そして、メインビュー(このブログContentControl
に似たもの)に配置することでそれらを切り替えました。デフォルトのビューはで、ボタンをクリックすると他のビューが表示されます(つまり)。これまでは正常に動作しています。DataGrid
ListBox
データ グリッド列は、次のリンクで説明されているソリューションを使用して動的に生成されることに注意してください。したがって、ビューに戻ると、ステートメントDataGrid
でデータグリッドに列を追加しているときにエラーがスローされますforeach
(前のリンクの回答を参照してください)
「ヘッダー 'Ord' を持つ DataGridColumn は、 の Columns コレクションに既に存在し
DataGrid
ます。DataGrid は列を共有できず、重複する列インスタンスを含めることはできません。」
しかし、DataGrid
そのCount
プロパティに列を追加する前はゼロ(dataGrid.Columns.Count())であると確信しています。DataGrid
では、ヘッダーのプロパティはどのように保持されるのでしょうか? ヘッダー値をクリアする方法はありますか?
提案してください...