一般我们在开发Windows Phone App时,需要取得萤幕的大小来自定义最佳化控制项的大小,但是开如何取得萤幕的大小呢?
?
本篇文章将引导您取得手机萤幕大小两种方法。
?
方法一:
透过舞台上最外层的控制项来取得萤幕的大小,
该方法有缺点但是当的调整可以完全没有误差的取得萤幕大小
缺点1:若在Xaml中的SystemTray.IsVisible属性没有设定为False,则取到高会扣掉最上方的状态栏(应该是这样称呼…就是最上面有电池 WIFI 电信的Bar)
缺点2:若该控制项有设定Margin 或 padding 则取到的长宽可能会缩小。
?
首先取得在舞台上最外层的控制项名称
?
1: <Grid x:Name="LayoutRoot">
2: .....
3: </Grid>
?
接着在C#程式码中写下
?
1: public MainPage()
2: {
3: InitializeComponent();
4: ?
5: this.LayoutUpdated += (sender, e) => {
6: Debug.WriteLine("宽"+LayoutRoot.ActualWidth);
7: Debug.WriteLine("高" + LayoutRoot.ActualHeight);
8: };
9: ?
10: }
?
则在【输出】是双就会显示萤幕的大小罗!
?
宽480
高800
?
参阅 : C# Windows Phone 8 解决【取得控制项 Height 、Width 总是 0】,并取得实际宽高数据。
?
方法二:
在C#程式码中写下:
?
1: Debug.WriteLine("宽"+(int)Application.Current.Host.Content.ActualWidth);
2: Debug.WriteLine("高" + (int)Application.Current.Host.Content.ActualHeight);
?
则在【输出】是双就会显示萤幕的大小罗!
?
宽480
高800
?
?
?
?
?
如此一来就学会了取得手机萤幕大小的两种方法罗!
?
References : Windows Phone 8: Multiple Screen Resolutions
?
文章中的叙述如有观念不正确错误的部分,欢迎告知指正 谢谢
转载请注明出处,并且附上本篇文章网址 !? 感谢。
HOLIESTAR
DotBlogs Tags: ActualHeightActualWidthC#ScreenSizeWindows Phone 8WP8Xaml
关连文章
C# Windows Phon 8 WP8 ,解决Pivot中PivoitItem可能遇到清不乾净的吊诡情况。
[小技巧] Windows Phone 8 WP8 开发,让APP的底色与系统动态砖的配色同步 !
C# Windows Phone 8 WP8,撷取UIElement转换成WriteableBitmap并存入IsolatedStorageFile,解决控制项全部挤一起的问题。