내가하려고하는 것은 높이 / 너비가 명시 적으로없는 창을 표시하는 것입니다 (둘 다 값을 생략하거나으로 설정 Auto
). 포함 된 모든 usercontrols 크기를 계산하여 창 크기를 자동으로 알 수 있다고 생각했지만 실제로는 작동하지 않습니다!
대신 큰 창이 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
이에 대한 해결책이 있습니까? 폼의 많은 컨트롤이 생성자 매개 변수를 기반으로 축소되고 폼의 실제 크기를 찾는 것이 까다로울 수 있기 때문에 창의 크기를 명시 적으로 설정하고 싶지 않습니다.
답변
창의 속성을 설정하십시오 SizeToContent="WidthAndHeight"
. 도움이 될 것입니다.
답변
오래된 질문이지만 업데이트 된 답변 :
@ Muad’Dib가 그의 대답에서 제안한 것처럼 :
을 설정해야합니다 SizeToContent="WidthAndHeight"
.
창의 내용 크기가 화면 크기보다 커지면 화면에서 창이 넘칠 수 있습니다. 따라서 다음 사항을 고려해야합니다.
MaxWidth="600"
MaxHeight="400"
답변
글쎄, 당신은 창 높이를 자동으로 설정할 수 없습니다.이 작업을 수행하려면 약간의 트릭을 사용하고 기본 메인 그리드 컨테이너의 이름을 지정하고 높이를 자동으로 설정 한 다음 창 높이를 메인 그리드의 높이에 바인딩하십시오
답변
로드 된 이벤트 창이있는 현재 화면에서 크기 설정