私は、WPF アプリケーションでさまざまな高さの行を持つ 1 列のグリッドを持っています。グリッド内の項目は動的に生成され、実行時に追加および削除されます。
追加される行ごとに、各要素の間に GridSplitter 行を挿入したいと思います。
私は現在、ItemControl を介してモデル データをバインドし、AttachedProperties を使用して要素の行数を取得します (明らかに、最終的な解決策には、GridSplitter を含める行数が多くなります)。
<ItemsControl ItemsSource="{Binding MyModel}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid local:GridHelpers.RowCount="{Binding MyModel.RowCount}" local:GridHelpers.ColumnCount="1"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
MyModel 変数は、ViewModel オブジェクトを含む ObservableCollection です。RowCount は、コレクション内の要素の数を返すメンバー変数です。
各行の間に GridSplitter を挿入するにはどうすればよいですか?
各要素と GridSplitter をテンプレートから生成したいと考えています。ただし、GridSplitter がテンプレート内に含まれている場合、Grid ではなく ContentPresenter が親として存在するため、機能しません。ゼロから書かれた独自のスプリッター コンポーネントを持つ独自の UI 要素を作成する以外に、アイデアが不足しています。きっと他に道があるはず!
助けてくれて本当にありがとうございます。