콘텐츠에 대한 WPF 제어 크기?
내용에 따라 크기를 변경하기 위해 WPF 컨트롤을 만들려면 어떻게해야합니까?
대부분의 컨트롤의 Auto
경우 XAML에서 높이와 너비를 설정하면 콘텐츠에 맞게 크기가 조정됩니다.
코드에서 너비 / 높이를 double.NaN
. 자세한 내용은 FrameworkElement.Width , 특히 "설명"섹션을 참조하십시오.
나는 내 창의 너비를 지정했지만 높이를 Auto
. 자식 DockPanel
은 VerticalAlignment
Top으로 설정하고 Window는 VerticalContentAlignment를 Top으로 설정했지만 Window는 여전히 콘텐츠보다 훨씬 더 큽니다.
Snoop을 사용 ContentPresenter
하여 창 (내가 거기에 넣은 것이 아닌 창의 일부)이 VerticalAlignment
설정되어 Stretch
있고 전체 창을 다시 생각하지 않고 변경할 수 없다는 것을 발견했습니다!
많은 좌절 끝에 SizeToContent
속성을 발견했습니다.이 속성을 사용하여 콘텐츠의 크기에 따라 Window 크기를 세로, 가로 또는 둘 다로 지정할지 지정할 수 있습니다. 이제 모든 크기가 멋지게 조정됩니다. 믿을 수 없습니다. 그 부동산을 찾는 데 너무 오래 걸렸습니다!
그리드 또는 유사 구성 요소를 사용하는 경우 : XAML에서 그리드의 요소에 Grid.Row 및 Grid.Column이 정의되어 있는지 확인하고 여백이 없는지 확인합니다. 디자이너 모드 또는 Expression Blend를 사용한 경우 특정 셀 대신 전체 그리드를 기준으로 여백을 할당했을 수 있습니다. 셀 크기 조정과 관련하여 나머지 공간을 채우는 추가 셀을 추가합니다.
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
다른 컨테이너에 의해 제한되지 않고 자유 형식으로 페이지에있는 사용자 컨트롤이 있었고 사용자 컨트롤 내의 내용은 자동 크기가 아니라 사용자 컨트롤이 전달 된 전체 크기로 확장됩니다.
사용자 컨트롤이 내용에 맞게 크기를 조정하도록하기 위해 높이에 대해서만 다음과 같이 자동 크기로 설정된 행에 그리드에 배치했습니다.
<Grid Margin="0,60,10,200">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<controls1:HelpPanel x:Name="HelpInfoPanel"
Visibility="Visible"
Width="570"
HorizontalAlignment="Right"
ItemsSource="{Binding HelpItems}"
Background="#FF313131" />
</Grid>
참고 URL : https://stackoverflow.com/questions/1746431/wpf-control-size-to-content
'IT TIP' 카테고리의 다른 글
S3 객체에 데이터 추가 (0) | 2020.11.21 |
---|---|
Java에서 ISO-8859-1과 UTF-8간에 어떻게 변환합니까? (0) | 2020.11.21 |
주어진 그림에서 긴 / 위도를 픽셀 x / y로 변환 (0) | 2020.11.21 |
Gson 및 배열이있는 객체 배열 역 직렬화 (0) | 2020.11.21 |
jquery-div가 높이 또는 CSS 속성을 변경하는지 확인하는 방법은 무엇입니까? (0) | 2020.11.21 |