2008-12-22 46 views

Trả lời

60

Bạn có thể sử dụng một Style áp dụng cho TabItem với một DataTrigger rằng sẽ sụp đổ nếu TabControl mẹ chỉ có một mục:

<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:sys="clr-namespace:System;assembly=mscorlib" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <Grid.Resources> 
     <x:Array x:Key="tabData" Type="{x:Type sys:String}"> 
      <sys:String>do</sys:String> 
      <sys:String>re</sys:String> 
      <sys:String>mi</sys:String> 
     </x:Array> 
    </Grid.Resources> 
    <TabControl ItemsSource="{StaticResource tabData}"> 
     <TabControl.ItemContainerStyle> 
      <Style TargetType="{x:Type TabItem}"> 
       <Style.Triggers> 
        <DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TabControl}}, Path=Items.Count}" Value="1"> 
         <Setter Property="Visibility" Value="Collapsed"/> 
        </DataTrigger> 
       </Style.Triggers>     
      </Style> 
     </TabControl.ItemContainerStyle> 
    </TabControl> 
</Grid> 

Nếu bạn muốn thoát khỏi TabControl hoàn toàn nếu có chỉ là một mục, logic đó có thể ở mức cao hơn.

Các vấn đề liên quan