C# Windows Phone 8 WP8 開發,取得手機螢幕大小兩種方法。

  • 1106
  • 0
  • C#
  • 2015-06-10

一般我們在開發Windows Phone App時,需要取得螢幕的大小來自定義最佳化控制項的大小,但是開如何取得螢幕的大小呢?

本篇文章將引導您取得手機螢幕大小兩種方法。

一般我們在開發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

 

文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝
轉載請註明出處,並且附上本篇文章網址 !  感謝。

SUKI

HOLIESTAR