我想在 windows phone (C#) 中使用 popUp 元素在屏幕上查看消息
我做了以下事情:
popUpBanner = new Popup();
popUpBanner.HorizontalAlignment = HorizontalAlignment.Center;
popUpBanner.VerticalAlignment = VerticalAlignment.Center;
但是弹出元素出现在屏幕的左上角..而不是在中心
我该如何解决这个问题
我想在 windows phone (C#) 中使用 popUp 元素在屏幕上查看消息
我做了以下事情:
popUpBanner = new Popup();
popUpBanner.HorizontalAlignment = HorizontalAlignment.Center;
popUpBanner.VerticalAlignment = VerticalAlignment.Center;
但是弹出元素出现在屏幕的左上角..而不是在中心
我该如何解决这个问题
在 Windows Phone 中,弹出窗口不是 UserControl 类。您不想将弹出窗口居中,而是将 ui 元素居中在弹出窗口的子元素中......
更具体地说,我更新了我的代码,希望它对你有所帮助。首先让我们获取屏幕尺寸(即宽度和高度)
var width = System.Windows.Application.Current.Host.Content.ActualWidth;
var height = System.Windows.Application.Current.Host.Content.ActualHeight;
让我们创建一个 StackPanel,为其添加背景颜色并根据设备屏幕分辨率重新调整 StackPanel 的大小。
StackPanel stackPanel = new StackPanel();
stackPanel.Background = new SolidColorBrush(Colors.Gray);
stackPanel.Height = height / 4;
stackPanel.Width = width / 2;
最后创建一个弹出窗口并将其作为子项添加到 StackPanel。
Popup Popup1 = new Popup();
stackPanel.Children.Add(Popup1);
ContentPanel.Children.Add(stackPanel);
Popup1.IsOpen = true;
你完成了。根据您的需要修改您的 StackPanel 大小,因为您在这里获得了屏幕分辨率。