2009-07-01 4 views
8

Я пытаюсь поместить некоторый контент в свой TabItem, но я не могу добавить контейнер, который заполняет пространство TabItem. Все, что я добавляю, сосредоточено.WPF TabItem Коррекция содержимого всегда центрирована

Я использую тему из набора WPF Toolkit (WhistlerBlue.xaml), поэтому я думаю, что, возможно, это то, что вызывает у меня эту проблему.

Я не могу удалить тему, потому что она мне нужна. В лучшем случае я мог что-то изменить в нем, но я новичок в WPF и не знаю, что мне менять.

Мой TabControl выглядит следующим образом:

<TabControl Margin="0,71.25,0,206.25" Name="tabControl1" TabStripPlacement="Left"> 
    <TabItem Name="tabItem1" FlowDirection="LeftToRight" FontSize="22" Height="200" Width="60" > 
     <TabItem.Header> 
      <StackPanel Orientation="Horizontal" > 
       <Image Height="40" Width="40" Margin="20,0,0,0" VerticalAlignment="Center"></Image> 
       <TextBlock Margin="15,0,25,0" VerticalAlignment="Center" FontWeight="Bold"> 
        Header 
       </TextBlock> 
      </StackPanel> 
     </TabItem.Header> 
     <TabItem.Content> 
      <StackPanel HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0" > 
       <TextBlock>Test</TextBlock> 
      </StackPanel> 
     </TabItem.Content> 
    </TabItem> 
</TabControl> 

Существует аналогичный вопрос, но он не имеет ответа: In WPF, how do I get the content of a tabItem to fill available space?

Может кто-нибудь мне помочь? Спасибо.

ответ

21

Хорошо, я нашел ответ.

.xaml темы началась с этими настройками для TabItem:

<Style d:IsControlPart="True" TargetType="{x:Type TabItem}"> 
    <Setter Property="HorizontalContentAlignment" Value="Center"/> 
    <Setter Property="VerticalContentAlignment" Value="Center"/> 

Я изменил центр к Stretch, и проблема была решена.

Мне действительно нужно изучить WPF из книги, а не просто попробовать что-то сделать.

+1

Вы заслуживаете статую! – Jeroen

0

<controls1:TabItem HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" >