문제:
TreeView의 HorizontalContentAlignment를 Stretch로 지정해도 TreeViewItem의 Header가 여전히 최소 Width에 고정되어있음
원인:
TreeViewItem의 내부 구조는 3 * 2 Grid로 되어 있음
Header가 하나의 Column에만 위치해있고 TreeViewItem의 Width가 변화해도 해당 Column의 Width는 변화하지 않음
Header의 ColumnSpan을 변경해 이를 해결할 수 있음
해결:
<TreeView x:Name="TreeCat" Grid.Row="1" Background="AliceBlue" HorizontalContentAlignment="Left">
<TreeView.Resources>
<Style TargetType="TreeViewItem">
<Style.Resources>
<Style TargetType="{x:Type Border}"> <!--Header는 Border 컨트롤로 이루어져 있음-->
<Setter Property="Grid.ColumnSpan" Value="2"/>
</Style>
</Style.Resources>
</Style>
</TreeView.Resources>
<d:TreeViewItem Header="test1" IsExpanded="True">
<TreeViewItem Header="test12" Height="30" />
<TreeViewItem Header="test13"/>
<TreeViewItem Header="test11" BorderThickness="1" BorderBrush="Black"/>
</d:TreeViewItem>
<d:TreeViewItem Header="test2" IsExpanded="True">
<TreeViewItem Header="test21"/>
<TreeViewItem Header="test22"/>
<TreeViewItem Header="test23"/>
</d:TreeViewItem>
</TreeView>
https://stackoverflow.com/a/30829770/13031224
반응형
'Code > WPF' 카테고리의 다른 글
WPF Binding 디버깅 (0) | 2021.11.12 |
---|---|
작업표시줄/Alt+Tab 에서 Window 숨기기 (0) | 2021.10.27 |
Visibility와 Focus (0) | 2021.10.17 |
WPF XamlParseException 버그? (0) | 2021.09.30 |
WPF DragDrop이 작동하지 않음 (0) | 2021.09.25 |
WPF MouseUp시 입력된 버튼 찾기 (0) | 2021.09.01 |
WPF 마우스 이벤트가 작동하지 않는 문제 (0) | 2021.08.26 |
WPF 최대화 문제 (0) | 2021.08.21 |