为什么我的StackPanel的背景颜色不能伸展以填满整个宽度?

时间:2012-03-23 19:14:30

标签: wpf background stackpanel

我有一个带有背景画笔的StackPanel,它包含一个按钮。它包含在比按钮宽的网格中。

令人沮丧的是,背景只有按钮那么宽。我可以在按钮的边缘看到它。所以我最终在我的按钮旁边有一个默认灰色的宽条,它的背景颜色有一个边框。

<StackPanel Visibility="Visible" HorizontalAlignment="Right" Background="{StaticResource qtyBg}">
    <Button x:Name="bttnQtyEditKeys" Content="EDIT KEYPAD" Visibility="Visible" Click="bttnQtyEditKeys_Click"/>
</StackPanel>

我能够通过在其周围包裹边框并设置边框的背景画笔来修复它。

这是一个黑客,所以它让我烦恼。是否有另一种方法可以使StackPanel的背景不是愚蠢的?

1 个答案:

答案 0 :(得分:4)

问题不是你的背景,而是你的StackPanel。你的背景很好,你的StackPanel没有填满可用的空间。

您需要在StackPanel上将Horizo​​ntalAlignment和VerticalAlignment设置为Stretch。

这对我来说很好用:

<Grid>
    <StackPanel Visibility="Visible" HorizontalAlignment="Stretch" Background="blue">
        <Button x:Name="bttnQtyEditKeys" HorizontalAlignment="Right" Content="EDIT KEYPAD" Visibility="Visible" Click="bttnQtyEditKeys_Click"/>
    </StackPanel>
</Grid>