WPF - groupbox伸展不在水平堆栈面板中工作

时间:2018-03-19 15:31:05

标签: wpf xaml

我有一个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>

1 个答案:

答案 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设置明确的宽度。