У меня есть простое приложение WPF Forms. У меня есть DockPanel в качестве моей панели корня. Первый ребенок - это StackPanel, в котором есть некоторые элементы управления, а второй элемент управления - TabControl. Я хочу, и типы панелей могут изменить все, что им нужно, чтобы TabControl поддерживал размер заливки окна, за исключением того, что потребляет первый StackPanel. Однако независимо от того, что я пытаюсь, TabControl, похоже, меняет свой размер в зависимости от того, что внутри него, а не внутри.
<Window>
<DockPanel>
<StackPanel> </StackPanel>
<TabControl> </TabControl>
</DockPanel>
</Window>
Просто настройте свойства 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>