gpt4 book ai didi

c# - 如何在 UWP 中始终将 UI 元素放在顶部

转载 作者:行者123 更新时间:2023-12-04 10:54:05 25 4
gpt4 key购买 nike

我正在开发具有很少 View 和横幅广告 View 的 UWP 应用程序。我希望横幅广告 View 始终位于顶部,不应隐藏在任何其他元素后面。

我的设置:
我有一个堆栈面板,其中有其他元素,并且横幅以编程方式添加,如下面的片段所示。

<Grid>
<StackPanel x:Name="stckPnl" Orientation="Vertical" Margin="0,0,0,0" HorizontalAlignment="Left" VerticalAlignment="Top">
<TextBox x:Name="plcTextbox" Header="PLACEMENT:" Text="123456" TextAlignment="Center"
Margin="0,40,0,0" Height="60" Width="240" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<Button x:Name="loadBannerBtn" Content="Load Banner" Click="LoadBanner"
Margin="0,40,0,0" Height="40" Width="240" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<ProgressRing x:Name="LoadingIndicator"
Margin="0,40,0,0" Height="40" Width="240" Visibility="Collapsed" />
</StackPanel>
<Rectangle Width="400" Height="400" Fill="Chocolate" Opacity="0.5" Canvas.ZIndex="40" Margin="20"/>
</Grid>

我正在添加如下横幅
_banner = new Banner(plcTextbox.Text.Trim(), AdSize.Banner320x50);
_banner.Margin = new Thickness(0, 40, 0, 0);
_banner.LoadAd();
Canvas.SetZIndex(_banner, 30000);
stckPnl.Children.Add(_banner);

到目前为止我尝试过的
我试过像 Canvas.SetZIndex(_banner, 30000); 一样在 Canvas 上设置 z-index 但它不起作用。即使在添加 z-index 之后,半透明矩形仍会显示在顶部,而横幅则隐藏在其后面。当我在堆栈面板上添加 z-index > 半透明矩形的 z-index 时,只有横幅显示在顶部。

enter image description here

无论 parent 或 parent 的 sibling 如何,我应该怎么做才能让横幅始终位于顶部?

最佳答案

z-index 仅适用于面板元素内的元素 - 因此,即使您设置 30000,它也仅适用于 StackPanel它被添加到其中。而且由于RectangleStackPanel 之后添加它将继续位居榜首。

您的解决方案是添加 Rectangle之前 StackPanel或拿 Banner对象外 StackPanel

关于c# - 如何在 UWP 中始终将 UI 元素放在顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59319269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com