私は現在、Grid を ItemsPanel として使用する ItemsControl の ControlTemplate を構築しようとしています。ここで、各項目は水平に積み重ねられ、GridSplitter で区切られています。
基本的な目標は、すべての項目が一列に積み上げられ、スプリッターで各項目のサイズを変更できる、動的にバインド可能な ItemsControl を持つことです。
頭を悩ませることができないことが 2 つあります。GridSplitter はどのようにして各アイテム間で自動的に終了するはずですか? 各項目に Grid.Column を設定するにはどうすればよいですか。
これが単純なコントロール テンプレートで実行できない場合、このようなものを実装するための一般的で適切な方法は何でしょうか? このために新しい ItemsControl を作成する必要がありますか?
実際の (Grid)Splitter コントロールが必要なので、カスタム ControlTemplates を使用できます。また、セルの追加のレイアウト機能 (GridLengthUnitType、Stretch、Alignment) があると非常に便利だと思います。
したがって、自分で作成するときは、カスタム ItemsControl (各項目のスプリッターを生成する) とカスタム パネル (1 行/1 列グリッドのように動作するため、Grid.Row、Grid.Column プロパティを添付する必要はありません) が必要になると思います。 、.Orientation で十分です) スプリッター コントロールを受け取ることができ、レイアウトに関してそれらを処理する方法を知っています。
このアプローチについてどう思いますか?好ましい方法ですか、それとも良い方法ですか?