带边框的窗口按比例调整大小

时间:2015-11-13 08:25:31

标签: c# wpf xaml grid resize

我有一个带有tabControl的窗口,其中有2个边框。 在第一个边框中,我有一个带有一些按钮的listBox。 一切都很好,但我必须通过最大化或手动拖动添加用户调整大小的功能。 因此,第一个边界总是占窗口的33%左右,因此第二个边界占66%。

所以这里的窗口没有调整大小,这是正确的 enter image description here

当变大时你可以看到两个边框重叠而且错误,甚至包含按钮的listBox也没有调整大小。 enter image description here

这是我的xaml

{{1}}
提前谢谢 帕特里克

2 个答案:

答案 0 :(得分:1)

只需将网格ApplicationController更改为33%和66%即可。

然后将两个边框放在每个ColumnDefinitions中:
- Grid.Column或默认为0

Grid.Colum="1"

感谢你发布的完整代码,我可以发短信并且有效

答案 1 :(得分:1)

您可以尝试使用GridSplitter。 代码如下:

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*" />
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="2*" />
        </Grid.ColumnDefinitions>

        <Border x:Name="Border1" BorderBrush="Gainsboro" BorderThickness="5" CornerRadius="8,8,3,3" Margin="10,10,10,10.4" >
            <ListBox x:Name="lbButtons" Background="{x:Null}" BorderBrush="{x:Null}" Margin="10,10,10,10" />
        </Border>

        <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" ResizeDirection="Columns" Margin="2"/>

        <Border x:Name="Border2" BorderBrush="Gainsboro" BorderThickness="5" CornerRadius="8,8,3,3" Grid.Column="2" Margin="10,10,9.2,10" />
    </Grid>