12

Cihazdan ayarların ekran çözünürlüğünü nasıl alabilirim (Windows Phone)?Cihazın ekran çözünürlüğünü nasıl edinebilirim (Windows Phone)

+2

olası yinelenen [Windows Phone 7 Serisi ekran boyutu almak nasıl?] (Http://stackoverflow.com/questions/2596732/how-to-get-screen-size-on-windows-phone -7-serisi) – katrielalex

+0

Ne için ihtiyacınız var? Çözünürlük aynıdır. –

+1

Şimdi, ancak bir sonraki sistem güncellemesinden sonra daha olası çözünürlükler olacak, bu nedenle bu tür soruların iyi bir nedeni olabilir. – MarcinJuraszek

cevap

21
public void GetScreenResolution() 
{ 
    string ScreenWidth = Application.Current.Host.Content.ActualWidth.ToString(); 
    string ScreenHeight = Application.Current.Host.Content.ActualHeight.ToString(); 
    MessageBox.Show(ScreenWidth + "*" + ScreenHeight); 
} 
+1

Elbette çalışır (DeviceInfo uygulamasında yaptığım gibi) ancak SDK 7.1 kullanıyorsanız (7.x aygıtlarını desteklemek için) WP8 üzerinde çalışırken yanlış değerlere neden olacağını unutmayın. – hfrmobile

+0

WP8.1 ile Lumia 925'de 480x800 döndürürken, özellikler sitede çözünürlüğü 768x1280 olduğunu iddia ediyor. Burada bir şey var. –

6

Bu, uygulamanızın hangi ekran çözünürlüğünün devam ettiğini bilmek için daha iyi bir yöntem olabilir.

if(App.Current.Host.Content.ScaleFactor == 100) 
{ 
    // WVGA 
} 
else if (App.Current.Host.Content.ScaleFactor == 160) 
{ 
    // WXGA 
} 
else if (App.Current.Host.Content.ScaleFactor == 150) 
{ 
    // 720p 
} 

Kaynak http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206974%28v=vs.105%29.aspx

+0

Bunu bir deneyeceğim! – hfrmobile

+2

Peki ya MS, örneğin FullHD için başka bir scalefactor eklerse? hardcode – Grigory

+2

için aşağıdan yükleme Bu, doğrudan bağlantılı Microsoft web sitesinden doğrudan. Elbette, yeni kararlar/ölçek faktörleri eklenirse, yukarıdaki kodda başka bir koşul eklersiniz. Sence bir yol var mı? Sebepsiz yere oylama. –

1

çözüm WP7.x ve WP8 cihazlarda çalışacak O: boyutlar maruz olarak http://sviluppomobile.blogspot.co.at/2013/04/detect-screen-resolution-for-windows.html

+0

için çözümünüzü görmek isterim, çok yardımcı olur! –

+0

Tamam görünüyor, ancak, http://stackoverflow.com/a/14018398/1130789'da açıklandığı gibi, Microsoft başka bir ekran çözünürlüğü eklediğinde başarısız olur! Özellikle ölçek faktörlerinin hiçbiri uyuşmazsa istisna tutulmadığı için. Bu yüzden en azından anahtar durumunuza bir varsayılan bölüm ekleyin. – S0me0ne

1

Bu aslında, bir @Dmitriy Reznik kombinasyonunu @Paras Wadehra 'ın cevaplı Host.Content, boyutsuz boyutundadır.

var content = App.Current.Host.Content; 

var screenResolution = new Size(
    content.ActualWidth*content.ScaleFactor/100, 
    content.ActualHeight*content.ScaleFactor/100); 
ait
+0

Ekran ölçeğini bilmenin başka bir yolu: 'DisplayProperties.LogicalDpi/96.0f' – Igor