質問

WP7で画面解像度をプログラム的に取得するにはどうすればよいですか?デスクトップWPFとSilverlightで同じジョブを完了するリンクの束は次のとおりですが、それらのどれも電話SDKにはありません。

何か案は?

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

役に立ちましたか?

解決

application.current.rootvisual.rendersizeのように見えます。

他のヒント

私はこれを使用します:

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}"

まだダウン/アップボートできません(実際、今ではでき、そうしました), 、しかし、application.current.host.contentを含む「ルーク・パプレット」の答えは、「アンドレアス・サウデモント」ではなく、正しいものであることを指摘したいと思います。

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

アプリケーションの非常に非常に非常に開始、特にWP7(PCの「通常の」SL3/SL4でどのようにあるかわからない)では、host.currentはより適切であると言います - つまり、たとえば、たとえば、非常に最初のページのコンストラクター - アプリケーションの「根源」が構築されており、「app.xaml.cs」にまだ割り当てられていないため、レンダース化プロパティはまだ正しく設定されていません。少なくともそのある時点で、rendersize = size {0,0}

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

XNAゲーム内からディスプレイサイズにアクセスする場合は、これを使用してください。

graphics.GraphicsDevice.DisplayMode.Width

graphics.GraphicsDevice.DisplayMode.Height

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

画面全体:

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

現在のページ:

目に見えるサイズ(AppBar / SystemTrayを考慮して)を知りたい場合は、代わりにページから尋ねてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top