2010-10-12 4 views
2

У меня есть простое приложение WPF Forms. У меня есть DockPanel в качестве моей панели корня. Первый ребенок - это StackPanel, в котором есть некоторые элементы управления, а второй элемент управления - TabControl. Я хочу, и типы панелей могут изменить все, что им нужно, чтобы TabControl поддерживал размер заливки окна, за исключением того, что потребляет первый StackPanel. Однако независимо от того, что я пытаюсь, TabControl, похоже, меняет свой размер в зависимости от того, что внутри него, а не внутри.Как автоматически размер TabControl в DockPanel - WPF

<Window> 
    <DockPanel> 
     <StackPanel> </StackPanel> 
     <TabControl> </TabControl> 
    </DockPanel> 
</Window> 

ответ

7

Просто установите свойства HorizontalAlignment и VerticalAlignment вашего TabControl к "Stretch":

<DockPanel> 
    <StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal" Margin="5"> 
     <TextBlock Text="Hello" /> 
     <TextBlock Text="World" /> 
    </StackPanel> 

    <TabControl HorizontalAlignment="Stretch" 
       VerticalAlignment="Stretch"> 
     <TabItem Header="Small"> 
      <TextBlock Text="Just Some Small Stuff" /> 
     </TabItem> 
     <TabItem Header="Bigger"> 
      <StackPanel> 
       <TextBlock Text="One line" /> 
       <TextBlock Text="The next line" /> 
      </StackPanel> 
     </TabItem> 

    </TabControl> 
</DockPanel> 
+0

Ну, как об этом. Это отлично работает. Если бы я поиграл достаточно долго, я бы это понял, но, честно говоря, я скорее веб-парень, чем парень WPF/XAML! Благодаря! – CrazyDart

+0

Нет проблем. Я больше парень из WPF/XAML. ;) –

Смежные вопросы