StackPanel 및 TreeView가 포함 된 사용자 정의 컨트롤이 있습니다. 모든 컨트롤은 내가 사용자 정의 창에서 제어 및 설정 높이를 사용하는 경우, 높이 = "자동"WPF UserControl TreeView Height
을 높이 = 800 스텍 패널이 높이로 성장 말하고, 그러나 TreeView의 자동 높이 조정하지 않습니다.
는UserControl을 :
<UserControl x:Class="WPFDataBinding.ucCompanyTreeView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="200" Width="300" Loaded="UserControl_Loaded">
<StackPanel>
<TextBlock Background="#505050" Foreground="Gold">Companys</TextBlock>
<TreeView Name="myTreeView" ItemTemplate="{StaticResource DetailTemplate}">
</TreeView>
</StackPanel>
Window1.xaml은 :
<StackPanel Orientation="Horizontal">
<local:ucCompanyTreeView Width="400" Height="600">
</local:ucCompanyTreeView>
</StackPanel>
UserControl을 내부의 StackPanel에의 높이는 성장
하지만 트리보기는하지 않습니다. 나는 그리드에서 트리 뷰를 배치 시도 , 같은 설정 높이 같은 사방 = "자동", 사방 VerticalAlignment = "스트레치"를 설정 같은 는트 리뷰는 데이터 바인딩, 그래서 나는 그것이 자동 크기라고 생각 데이터가 바인딩 된 후이 데이터 바인딩을 제거하면 동일한 결과가 바인딩됩니다.
크기 조정 이벤트를 통해이 작업을 수행 할 수 있습니다.하지만 이전에이 문제가 있었으며 "일부"컨트롤의 높이 상속 논리를 이해하고 싶습니다. 당신이 DockPanel와 사용자 컨트롤에 StackPanel의 교체한다면, TreeView에 기본적으로 DockPanel을 채울 것