目前我有一个stackpanel与2个按钮,我已经放置在我的网格内的单行。我想在stackpanel周围画一个边界,但是stackpanel填充了整个行,它不会在最后一个按钮停止(如我所料):
stackpanel边框图像
我如何修改这一点,使stackpanel或边框停止在最后一个元素没有硬编码或动态计算底边距?
<Border Background="#FF303841"
Margin="5"
CornerRadius="3"
Grid.Row="2"
Grid.Column="4">
<StackPanel>
<TextBlock Text="OTHER"
Foreground="White"
FontWeight="Medium"
FontFamily="Poppins"
FontSize="16"
HorizontalAlignment="Left"
Margin="5,5,0,0"/>
<Button Style="{StaticResource linkBtn}">TEST1</Button>
<Button Style="{StaticResource linkBtn}">TEST2</Button>
</StackPanel>
</Border>
根据emoacht上面的评论,解决方案是简单地添加vertical align ="Top"到边境去。这使得它停止填充父行,也就是网格行。
这个行为的原因是VerticalAlignment的默认参数是stretch,所以它需要被重写。