2009-09-05 4 views
1

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을 채울 것

답변