[Silverlight4]高DPI設定のWin7でOOBアプリケーションを実行した際のレイアウト問題

 Windows7で高DPI設定にした時だけ、OOB(Out-of-browser)アプリケーションウインドウ内のコンテンツが、ウインドウからはみ出してしまうという現象が発生してしまいました。
 DPIの変更自体にはXPから対応しているのですが、どうしてWindows7でだけ問題が生じるのですか?ボクカナシイ

 特別な設定でしか発生しない現象なら、別に対応しなくても良いよね!なんて思っていたのですが、聞いたところによると、標準で125%(120DPI)に設定されているPCもあるとかで、仕方なく調査に乗り出したのでした。(第一部・完)

 最初は、ものすごく面倒な対応を強いられるのではないかと思っていたのですが(全コントロールのサイズをDPI比から算出して再設定するとか)、調査をはじめて三日目の晩、実家の茶の間に飾られた白黒写真でしか見たことのない曽祖父が夢枕に立ち、「SettingsクラスのEnableAutoZoom プロパティ」と呟いたところではっと目が覚めた僕は、早速以下の一行をAppクラスのコンストラクタに追記してみました。

Host.Settings.EnableAutoZoom = false;

 上記の一行加えただけで、見た目は標準のDPI(96DPI)設定時と同じように表示されるようになり、動作上も今のところは特に問題なさそうです。

 本当はちゃんと解像度設定に従うような実装を心がけるべきなんでしょうが、今さらもうどうしようもない!なんて時はとりあえずこんな感じで対応するのもやむなしってことで、僕は引き続き「マルマルモリモリ」の振り付けを覚える仕事に戻りたいと思います。

トラックバック(0)

このブログ記事を参照しているブログ一覧: [Silverlight4]高DPI設定のWin7でOOBアプリケーションを実行した際のレイアウト問題

このブログ記事に対するトラックバックURL: http://ushi.donburi.net/mt/mt-tb.cgi/101

コメントする

このブログ記事について

このページは、くわが2011年6月 6日 15:30に書いたブログ記事です。

ひとつ前のブログ記事は「[Silverlight]実行環境のOS判定」です。

次のブログ記事は「[SIlverlight4]OOBアプリケーションアンインストール時にIsolatedStorageのデータも削除したい」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.0.3
ぎゅう♪ぎゅう♪ぎゅう♪ぎゅう♪ ぎゅう♪ぎゅう♪ ぎゅう♪ぎゅう♪