1

実行時にウィンドウにいくつかの DockContent を作成したいと考えています。また、すべてのコンテンツが同時にユーザーに表示される必要があります。上下にだけコンテンツを追加したい。では、すべてのコンテンツがほぼ同じサイズのコンテンツを追加するにはどうすればよいでしょうか?

私が今抱えている問題は、各コンテンツのサイズです。コンテンツを追加するたびに、コンテンツはどんどん小さくなりますが、以前のコンテンツのサイズはそのままです。これは、同じコンテンツが別のコンテンツを追加するたびに分割されることを意味します。

問題を解決するために、DockPanel に DockPanel.Contents が含まれているかどうかを最初に確認しようとしています。ここで、DockState は DockState.Document です。そうでない場合は、最初のコンテンツとして追加します。存在する場合は、上部にドッキングされている子ペインがあるかどうかを確認したいと思います。子ペインにアクセスするには、IDockContent.DockHandler.Pane.NestedPanesContainer.NestedPanes で試します。残念ながら、これはこのペインの子だけを返すのではなく、既存のすべてのペインを返すようです。

私がやろうとしていることは明らかだと思います。

4

1 に答える 1

0

私は自分の問題を解決することができました。このために、「Pane.NestedPanesContainer.NestedPanes」を使用してツリー内のすべての要素を取得しました。次に、プロパティ「Pane.NestedDockingStatus.PreviousPane」を使用してツリーを構築し、親ノードを取得します。これは正常に機能しますが、毎回計算する必要があります。私の場合、それは十分に速いです。

「NestedPanes」に含まれる要素に注意してください。「DockPanel」には複数のツリーを含めることができます。プロパティ「DockContentHandler.DockState」は、それがどのツリーにあるかを決定します。

于 2012-08-31T08:09:00.687 に答える