18

WP7でプログラムで画面解像度を取得するにはどうすればよいですか?デスクトップWPFとSilverlightで同じ仕事をする一連のリンクがありますが、それらはどれもPhoneSDKにはありません。

何か案は?

http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/f0639904-a368-44db-9ddd-efcaf8fc736e
http://social.msdn.microsoft.com/Forums/en-US/wpf / thread / 6b6b832f-0dfd-428c-84cd-b1b9e7f236cf
アクティブな画面のサイズを取得するにはどうすればよいですか?
http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/f0639904-a368-44db-9ddd-efcaf8fc736e

4

5 に答える 5

66

私はこれを使用します:

this.ScreenWidth = System.Windows.Application.Current.Host.Content.ActualWidth;
this.ScreenHeight = System.Windows.Application.Current.Host.Content.ActualHeight;

アプリをスキンする多くの方法。XAMLの場合は、LayoutRootのプロパティにバインドできます。

Height="{Binding ElementName=LayoutRoot,Path=ActualHeight}"
于 2010-12-08T15:51:00.933 に答える
14

Application.Current.RootVisual.RenderSizeがその情報を提供するようです。

于 2010-04-08T12:23:06.200 に答える
8

私はまだ賛成/反対することはできません(実際、今はできますし、そうしました)が、Application.Current.Host.Contentを含む「LukePuplett」の答えは正しいものであり、「AndréasSaudemont」ではないことを指摘したいと思います。 "RenderSizeにアドバイスするものです。

チュートリアルやMSDNのサンプルアプリケーションで一般的に使用されている名前を使用します。

Host.Currentの方が適切だと思います。これは、アプリケーションの最初の段階、特にWP7(PCの「通常の」SL3 / SL4でどのようになっているのかわかりません)、つまり、最初のページのコンストラクター-アプリケーションの「RootVisual」が構築中であり、「App.xaml.cs」にまだ割り当てられていないため、RenderSizeプロパティはまだ正しく設定されていません。少なくともその1つのポイントでは、RenderSize = Size {0,0}

一方、アプリのみが正しく起動する場合、Host.Contentは、フルスクリーンサイズで実際の画面位置に回転する電話フレームに設定されます。最初はスプラッシュ画面の開始(JPGファイルから空または静的)だと思います

于 2011-04-20T19:01:26.003 に答える
4

XNAゲーム内からディスプレイサイズにアクセスする場合は、次を使用します。

graphics.GraphicsDevice.DisplayMode.Width

graphics.GraphicsDevice.DisplayMode.Height

ここで、グラフィックスは現在のゲームのGraphicDeviceManagerです。

于 2012-01-20T02:14:14.283 に答える
1

画面全体:

(App.Current.RootVisual as FrameworkElement).ActualHeight
(App.Current.RootVisual as FrameworkElement).ActualWidth

現在のページ:

(AppBar / SystemTrayを考慮に入れて)表示サイズを知りたい場合は、代わりにページからそれを要求してください。

于 2010-04-10T00:50:19.520 に答える