边框是否可以填充Stackpanel的空间而无需明确设置宽度?

时间:2012-01-08 19:29:50

标签: c# wpf xaml layout stackpanel

这是一些xaml,它显示一个并排包含两个边框的Stackpanel。我想让第二个边框填满Stackpanel的剩余区域,以便无法看到Stackpanel的红色背景。但我现在看到的方法除了在边框上设置显式宽度之外。如果不设置明确的宽度,可以以某种方式完成吗?

<StackPanel Width="300" Background="Red" Orientation="Horizontal">
    <Border Width="100" Background="White">
        <TextBlock Text="Hello"/>
    </Border>
    <Border Background="Green">
        <TextBlock Text="World"/>
    </Border>
</StackPanel>

1 个答案:

答案 0 :(得分:1)

没有Stackpanel,没有。 Stackpanel不限制其子节点的宽度。您应该使用Dockpanel或网格进行此布局。

这样的东西
<DockPanel Width="300" Background="Red">
    <Border Width="100" Background="White">
        <TextBlock Text="Hello"/>
    </Border>
    <Border Background="Green">
        <TextBlock Text="World"/>
    </Border>
</DockPanel>