WPFのコントロールを作成していますが、WPFの達人に質問があります。
サイズ変更可能なウィンドウに合わせてコントロールを拡張できるようにしたい。
私のコントロールには、ウィンドウで展開したいリストボックスがあります。リストボックスの周りに他のコントロール(ボタン、テキストなど)もあります。
コントロールに最小サイズを設定できるようにしたいのですが、コントロールを表示するためのスクロールバーを作成して、ウィンドウのサイズを小さくできるようにしたいのです。
これにより、ネストされたスクロール領域が作成されます。1つはリストボックス用で、もう1つはコントロール全体をラップするScrollViewerです。
これで、リストボックスが自動サイズに設定されている場合、ScrollViewer内で常にフルサイズで描画されるため、スクロールバーが表示されることはありません。
コンテンツを小さくできない場合にのみコントロールをスクロールさせたいのですが、それ以外の場合はコントロールをスクロールしたくありません。代わりに、コントロール内のリストボックスをスクロールしたいと思います。
ScrollViewerクラスのデフォルトの動作を変更するにはどうすればよいですか?ScrollViewerクラスから継承し、MeasureOverrideクラスとArrangeOverrideクラスをオーバーライドしようとしましたが、子を適切に測定して配置する方法がわかりませんでした。アレンジは、実際のコンテンツの子ではなく、何らかの形でScrollContentPresenterに影響を与える必要があるようです。
どんな助け/提案も大歓迎です。