5

Window.SizeToContentサイズのみを拡張するように制限することは何とか可能ですか?

TabControlのコンテンツで動的に埋められる一般的なウィンドウがあります。各 TabItem がどのくらいの大きさになるかは最初はわからないので、スクロールせずにすべてを表示するために必要なサイズを事前に計算することはできません (私は高さだけを気にします)。

有効SizeToContentにすると、タブが変更されるたびにサイズが必要なサイズに自動的に調整されます。現在のビューがより多くのスペースを必要とする場合にのみ拡大するのは問題ありませんが、必要なスペースが少なくなったときにウィンドウも縮小されるのは嫌いです。ウィンドウサイズの拡大SizeToContentのみを許可するように動作を制限することは可能ですか? または、タブ コントロールの横にあるウィンドウ フレームやその他のコンポーネントを考慮して正しい結果を生成しながら、動作を別の方法でエミュレートできますか?

タブを変更したときに新しいサイズ情報がどこに行くのかを調べるために、さまざまなウィンドウイベントにフックしようとしましたが、ウィンドウ上の唯一の実際に役立つものは、OnChildDesiredSizeChanged決定論的な結果を生成しませんでした (一部のタブでは呼び出され、他のタブではそうではありませんでした)。 t)。他に何か考えはありますか?

4

3 に答える 3

3

FrameworkElement.MinHeightおよびFrameworkElement.MinWidthを使用して、Windowが読み込まれた後の最小の高さ/幅を設定してみてください。

public void WindowLoaded()
{
    this.MinHeight = this.ActualHeight;
    this.MinWidth = this.ActualWidth;
}
于 2013-03-05T14:09:19.927 に答える