私がやろうとしていることは、明示的に高さ/幅を持たないウィンドウを表示することです(両方の値が省略されているか、に設定されていますAuto
)。ウィンドウがそのサイズを自動で見つけると思っていました-含まれているすべてのユーザーコントロールのサイズを計算しますが、これは実際には機能しません!
代わりにActualwidth
、Actualheight
値が512に設定された大きなウィンドウが表示されます(?!?!)
ウィンドウ宣言:
<Window x:Class="Window3"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window3"
Height="Auto">
<StackPanel>
<Label>Window</Label>
</StackPanel>
</Window>
このウィンドウをダイアログとして表示:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button2.Click
Dim dlg As New Window3
dlg.ShowDialog()
End Sub
これに対する解決策はありますか?フォーム内の多くのコントロールはコンストラクターのパラメーターに基づいて折りたたまれ、フォームの実際のサイズを見つけるのは難しい(そして醜い)ため、ウィンドウのサイズを明示的に設定したくありません。
.WindowStartupLocation
設定してウィンドウを中央に配置することもできます"CenterScreen"