带有背景的边框元素隐藏其下的其他元素.(UWP)



我有一个带有多个按钮的网格作为孩子。现在我想给这个网格行一个背景色。所以我添加了一个背景颜色的边框,如下所示

Border brd = new Border
{
Margin = new Thickness(0, 2, 0, 2),
Background = (SolidColorBrush) Application.Current.Resources["RedBrush"],
CornerRadius = new CornerRadius(22),
};
Grid.SetColumn(brd,startColumn);
Grid.SetColumnSpan(brd, 9- startColumn);
Grid.SetRow(brd, startRow);
GridMain.Children.Add(brd);

一切对我来说看起来都不错,但是当渲染时,所有按钮都被隐藏,因为仅边框的背景颜色在行中可见。我怎样才能克服这个问题?

而不是从代码隐藏添加边框,如果我在 Xaml 中添加一切正常(边框背景可见为按钮背景,按钮文本可见(

<Border  Grid.Row="5"  Grid.Column="1" Grid.ColumnSpan="8" Background="{StaticResource RedBrush}" CornerRadius="22" Margin="0 2 0 2" />

但是由于各种原因,我希望能够从其后面的代码中添加此边框。

如果要设置网格的背景颜色,可以直接使用Grid.Background进行设置,而无需添加新的边框。

但是如果需要添加边框作为背景,请注意代码中的调用顺序。

一般来说,后面添加的元素会放在前一个元素的顶层,形成覆盖的视觉效果。

从您的问题描述。您可以将添加边框的代码放在最前面。

谢谢。

最新更新