我目前有一个加载的基本页面,我需要一些方法来获取窗口的宽度和高度,最好是在构造函数中。问题是,在构造函数中,或者在页面完全加载之前,我似乎无法掌握宽度和高度。加载后我可以使用:
this.ActualWidth;
this.ActualHeight;
我可以使用任何窗口加载完成事件或在加载期间获取宽度和高度的任何方法吗?
我目前有一个加载的基本页面,我需要一些方法来获取窗口的宽度和高度,最好是在构造函数中。问题是,在构造函数中,或者在页面完全加载之前,我似乎无法掌握宽度和高度。加载后我可以使用:
this.ActualWidth;
this.ActualHeight;
我可以使用任何窗口加载完成事件或在加载期间获取宽度和高度的任何方法吗?
您可以随时使用属性Window.Current.Bounds找出 Window 的大小。有关详细信息,请阅读:如何获取屏幕分辨率?对于 WinRT 应用程序?
这是一篇关于如何处理SizeChanged
事件的博客文章。如果不执行此类操作,您将无法获得 ActualWidth/ActualHeight,因为它们是在呈现控件时计算的。
private void OnWindowSizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs e)
{
var CurrentViewState = Windows.UI.ViewManagement.ApplicationView.Value;
double AppWidth = e.Size.Width;
double AppHeight = e.Size.Height;
// DownloadImage requires accurate view state and app size!
DownloadImage(CurrentViewState, AppHeight, AppWidth);
}
Window.Current.SizeChanged += OnWindowSizeChanged;