我有一个WPF应用程序,左侧显示一个选项卡控件,右侧显示一个工作区域(组框控件)。
我希望制表符控件具有静态宽度,但是groupbox将其宽度扩展到其容器的剩余部分(堆栈面板)。
这可能吗?设计师似乎不允许这样做。
<Window x:Class="app.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:app"
mc:Ignorable="d"
Title="myapp" Height="393.93" Width="530.761">
<Grid>
<StackPanel Margin="10" Orientation="Horizontal">
<TabControl Width="119">
<TabItem Header="Archive">
<Grid Background="#FFE5E5E5"/>
</TabItem>
<TabItem Header="Queue">
<Grid Background="#FFE5E5E5">
<ListView Width="113">
<ListView.View>
<GridView>
<GridViewColumn/>
</GridView>
</ListView.View>
</ListView>
</Grid>
</TabItem>
</TabControl>
<GroupBox Header="Page Editor:" Width="312" Margin="10,0"/>
</StackPanel>
</Grid>
</Window>
答案 0 :(得分:2)
请勿使用StackPanel
。使用拉伸其子元素的面板,例如Grid
:
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TabControl Width="119">
<TabItem Header="Archive">
<Grid Background="#FFE5E5E5"/>
</TabItem>
<TabItem Header="Queue">
<Grid Background="#FFE5E5E5">
<ListView Width="113">
<ListView.View>
<GridView>
<GridViewColumn/>
</GridView>
</ListView.View>
</ListView>
</Grid>
</TabItem>
</TabControl>
<GroupBox Header="Page Editor:" Margin="10,0" Grid.Column="1"/>
</Grid>
...并且不要为GroupBox
设置明确的宽度。