WPF - groupbox伸展不在水平堆栈面板中工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF - groupbox伸展不在水平堆栈面板中工作相关的知识,希望对你有一定的参考价值。
我有一个WPF应用程序,左侧显示一个选项卡控件,右侧显示一个工作区域(组框控件)。
我希望tab控件具有静态宽度,但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>
答案
不要使用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
设置明确的宽度。
以上是关于WPF - groupbox伸展不在水平堆栈面板中工作的主要内容,如果未能解决你的问题,请参考以下文章