2011-08-14 3 views
0

TreeView가 Window에서 유일한 경우 가상화가 작동합니다. 예를 들어 :WPF TreeView 가상화가 창에 추가 되 자마자 중단됩니다.

<Grid> 
    <vw:FontTreeView x:Name="fontTreeViewControl" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" BorderThickness="0" /> 
</Grid> 

그러나 심지어 단순히 행 정의를 추가하는 것은 완전히 가상화 나누기 :

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto" /> 
    </Grid.RowDefinitions> 

    <vw:FontTreeView x:Name="fontTreeViewControl" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" BorderThickness="0" /> 

</Grid> 

내 TreeViewItem 스타일은 다음 트리거가 있습니다

<Style.Triggers> 
    <Trigger Property="VirtualizingStackPanel.IsVirtualizing" Value="true"> 
     <Setter Property="ItemsPanel"> 
      <Setter.Value> 
       <ItemsPanelTemplate> 
        <VirtualizingStackPanel/> 
       </ItemsPanelTemplate> 
      </Setter.Value> 
     </Setter> 
    </Trigger> 
</Style.Triggers> 

그리고 물론

이 트 리뷰가 VirtualizingStackPanel있다을 .IsVirtualizing = "True"

Q. 다른 전자 메일은 어떻게 만들 수 있습니까? 가상화를 깨지 않고 내 창문에있는 lements? 도와 주셔서 대단히 감사합니다.

답변

0

높이를 자동으로 설정하면 문제가 발생합니다. 반드시 수정해야하며, 대신 *를 사용하십시오. RowDefinition 내 인스턴스에.