0

我想在 windows phone (C#) 中使用 popUp 元素在屏幕上查看消息

我做了以下事情:

popUpBanner = new Popup();
popUpBanner.HorizontalAlignment = HorizontalAlignment.Center;
popUpBanner.VerticalAlignment = VerticalAlignment.Center;

但是弹出元素出现在屏幕的左上角..而不是在中心

我该如何解决这个问题

4

2 回答 2

0

在 Windows Phone 中,弹出窗口不是 UserControl 类。您不想将弹出窗口居中,而是将 ui 元素居中在弹出窗口的子元素中......

于 2013-04-24T03:40:18.863 回答
0

更具体地说,我更新了我的代码,希望它对你有所帮助。首先让我们获取屏幕尺寸(即宽度和高度)

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 大小,因为您在这里获得了屏幕分辨率。

于 2014-06-23T12:54:47.533 回答