2009-07-24 106 views

回答

1

我可以告诉你做这件事的方法。获取TabControl的ControlTemplate的副本。如果您没有使用Expression Blend进行编辑,您可以获得here

<Grid KeyboardNavigation.TabNavigation="Local"> 
     <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 
     <TabPanel 
     Name="HeaderPanel" 
     Grid.Row="0" 
     Panel.ZIndex="1" 
     Margin="0,0,4,-1" 
     IsItemsHost="True" 
     KeyboardNavigation.TabIndex="1" 
     Background="Transparent" /> 

您可以看到下面的2行网格和一个TabPanel作为Header面板。这就是为什么默认的TabControl的headerpanel(Tabs)位于顶部(第一行)。您可以将这些行更改为列,并将TabPanel替换为StackPanel或具有垂直方向的东西,这些都可以实现。