弹出窗口不显示

编程入门 行业动态 更新时间:2024-10-21 13:34:47
本文介绍了弹出窗口不显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

在点击事件中,我想在代码后面显示所有弹出窗口,但是我的弹出窗口没有显示吗?

On a tap event I would like to show a popup all within code behind, but my popup is not displaying?

void PopupDisplay_Tap(object sender, System.Windows.Input.GestureEventArgs e) { if (sender != null) { p = new Popup { Width = 480, Height = 580, HorizontalAlignment = System.Windows.HorizontalAlignment.Center, VerticalAlignment = System.Windows.VerticalAlignment.Center }; Border b = new Border(); b.BorderBrush = new SolidColorBrush(Colors.Gray); b.BorderThickness = new Thickness(2); b.Margin = new Thickness(10, 10, 10, 10); p.Child = b; p.IsOpen = true; } }

推荐答案

以为您试图通过顶级控件(如Pivot)弹出弹出窗口,

Think you're trying to Popup over a top-level control like a Pivot which is very buggy.

请参见带有枢轴的弹出框

如果它是Grid,它将弹出而没有问题.要解决此问题,您必须将其添加到与数据透视"相同的视觉级别,如下所示:

If it was a Grid, it would pop up without problem. To fix this you will have to add it to the same visual level as the Pivot like so:

<Grid x:Name="ContentPanel" Margin="0,0,0,0"> <phone:Pivot x:Name="MainDisplay"> <!-- more code --> </phone:Pivot> </Grid>

然后将其隐藏在您的代码中

Then in your code-behind

// I made with a thickness of 100, so we can see the border better Popup p; p = new Popup { Width = 480, Height = 580, VerticalOffset = 0 }; Border b = new Border(); b.BorderBrush = new SolidColorBrush(Colors.Red); b.BorderThickness = new Thickness(100); b.Margin = new Thickness(10, 10, 10, 10); b.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; b.VerticalAlignment = System.Windows.VerticalAlignment.Stretch; p.Child = b; // add it to the same level as the pivot to over ride pivot this.ContentPanel.Children.Add(p); p.IsOpen = true;

更多推荐

弹出窗口不显示

本文发布于:2023-07-18 12:52:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1144964.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:弹出窗口

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!