C# Windows Phone 8 WP8 开发,取得手机萤幕大小两种方法。
2014-03-08 21:40
666 查看
原文:C# Windows Phone 8 WP8 开发,取得手机萤幕大小两种方法。
一般我们在开发Windows Phone App时,需要取得萤幕的大小来自定义最佳化控制项的大小,但是开如何取得萤幕的大小呢??
本篇文章将引导您取得手机萤幕大小两种方法。?
方法一:
透过舞台上最外层的控制项来取得萤幕的大小,
该方法有缺点但是当的调整可以完全没有误差的取得萤幕大小
缺点1:若在Xaml中的SystemTray.IsVisible属性没有设定为False,则取到高会扣掉最上方的状态栏(应该是这样称呼…就是最上面有电池 WIFI 电信的Bar)
缺点2:若该控制项有设定Margin 或 padding 则取到的长宽可能会缩小。?
首先取得在舞台上最外层的控制项名称?
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;}
.csharpcode .lnum { color: #606060; }]]>?
接着在C#程式码中写下?
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;}
.csharpcode .lnum { color: #606060; }]]>?
则在【输出】是双就会显示萤幕的大小罗!?
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;}
.csharpcode .lnum { color: #606060; }]]>?
参阅 : C# Windows Phone 8 解决【取得控制项 Height 、Width 总是 0】,并取得实际宽高数据。?
方法二:
在C#程式码中写下:?
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;}
.csharpcode .lnum { color: #606060; }]]>?
则在【输出】是双就会显示萤幕的大小罗!?
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;}
.csharpcode .lnum { color: #606060; }]]>?????
如此一来就学会了取得手机萤幕大小的两种方法罗!?
References : Windows Phone 8: Multiple Screen Resolutions?
文章中的叙述如有观念不正确错误的部分,欢迎告知指正 谢谢
转载请注明出处,并且附上本篇文章网址 !? 感谢。
SUKI
https://www.facebook.com/Holiestar
https://www.facebook.com/firestar.register
var now = new Date();var index=now.getTime();document.write('');
DotBlogs Tags:
ActualHeight
ActualWidth
C#
ScreenSize
Windows Phone 8
WP8
Xaml
C# Windows Phon 8 WP8 ,解决Pivot中PivoitItem可能遇到清不乾净的吊诡情况。
[小技巧] Windows Phone 8 WP8 开发,让APP的底色与系统动态砖的配色同步 !
C# Windows Phone 8 WP8,撷取UIElement转换成WriteableBitmap并存入IsolatedStorageFile,解决控制项全部挤一起的问题。
一般我们在开发Windows Phone App时,需要取得萤幕的大小来自定义最佳化控制项的大小,但是开如何取得萤幕的大小呢??
本篇文章将引导您取得手机萤幕大小两种方法。?
方法一:
透过舞台上最外层的控制项来取得萤幕的大小,
该方法有缺点但是当的调整可以完全没有误差的取得萤幕大小
缺点1:若在Xaml中的SystemTray.IsVisible属性没有设定为False,则取到高会扣掉最上方的状态栏(应该是这样称呼…就是最上面有电池 WIFI 电信的Bar)
缺点2:若该控制项有设定Margin 或 padding 则取到的长宽可能会缩小。?
首先取得在舞台上最外层的控制项名称?
<Grid x:Name="LayoutRoot">
[code]
.....
</Grid>
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;}
.csharpcode .lnum { color: #606060; }]]>?
接着在C#程式码中写下?
public MainPage()
[code]
{
InitializeComponent();
?
this.LayoutUpdated += (sender, e) => {
Debug.WriteLine("宽"+LayoutRoot.ActualWidth);
Debug.WriteLine("高" + LayoutRoot.ActualHeight);
};
?
}
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;}
.csharpcode .lnum { color: #606060; }]]>?
则在【输出】是双就会显示萤幕的大小罗!?
宽480
[code]
高800
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;}
.csharpcode .lnum { color: #606060; }]]>?
参阅 : C# Windows Phone 8 解决【取得控制项 Height 、Width 总是 0】,并取得实际宽高数据。?
方法二:
在C#程式码中写下:?
Debug.WriteLine("宽"+(int)Application.Current.Host.Content.ActualWidth);
[code]
Debug.WriteLine("高" + (int)Application.Current.Host.Content.ActualHeight);
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;}
.csharpcode .lnum { color: #606060; }]]>?
则在【输出】是双就会显示萤幕的大小罗!?
宽480
[code]
高800
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;}
.csharpcode .lnum { color: #606060; }]]>?????
如此一来就学会了取得手机萤幕大小的两种方法罗!?
References : Windows Phone 8: Multiple Screen Resolutions?
文章中的叙述如有观念不正确错误的部分,欢迎告知指正 谢谢
转载请注明出处,并且附上本篇文章网址 !? 感谢。
SUKI
HOLIESTAR
https://www.facebook.com/Holiestarhttps://www.facebook.com/firestar.register
var now = new Date();var index=now.getTime();document.write('');
DotBlogs Tags:
ActualHeight
ActualWidth
C#
ScreenSize
Windows Phone 8
WP8
Xaml
关连文章
C# Windows Phone 8 WP8 开发,Pivot解决程式码中动态新增PivotItem可能遇到的例外状况【Value does not fall within the expected range.】C# Windows Phon 8 WP8 ,解决Pivot中PivoitItem可能遇到清不乾净的吊诡情况。
[小技巧] Windows Phone 8 WP8 开发,让APP的底色与系统动态砖的配色同步 !
C# Windows Phone 8 WP8,撷取UIElement转换成WriteableBitmap并存入IsolatedStorageFile,解决控制项全部挤一起的问题。
相关文章推荐
- C# Windows Phone 8 WP8 开发,将WebClient的DownloadStringCompleted事件改成非同步的awiat方法。
- [笔记] C# Windows Phone 8 WP8 开发,判断目前网路是否可用。
- C# 隐藏 Windows Phone 侦错模式中萤幕右上角的数据条(模拟器、实机可用),截图好方便。
- C# Windows Phone 8 WP8 高级开发,制作不循环 Pivot ,图片(Gallery)导览不求人! 内附图文教学!!
- C# Windows Phone 8 WP8 , 文字超连结到网页 免打程式码,Xaml就搞定 ! !
- C# Windows Phone 8 WP8,切换各国语系免重开机 加速开发 送审有效率!!
- C#编程的一些规范与常识1
- C#中bool与Boolean有什么区别
- c#的Assembly.Load.CreateInstance(反射)和.config的使用
- c# 实现遍历 DataTable 和DataSet (简单的方式)
- C#事件之 发布符合 .NET Framework 准则的事件
- C#中的委托
- [CSharp In Depth]迭代器
- C#控件属性方法简介表
- IDL与C#混合编程技术
- C#:委托与事件
- C#:委托与事件
- C# 事件 之订阅和取消订阅事件
- C#中的反射 Assembly.Load() Assembly.LoadFrom()
- C# winform combobox 扩展