これは物議を醸すトピックだと言い始めます。
私の個人的な意見では、大幅に異なる解像度/サイズ範囲を特定し、ある範囲から別の範囲へのサイズ変更を検出したときにスワップできる別の UI レイヤーを提供する必要があります (動的に切り替える必要さえない場合があります-その点で)ロード時にチェックするだけの場合)。このアプローチは、特定する範囲が非常に限定されていて、互いに類似している場合、明らかに意味がありません。同じ範囲内であれば、アプリは適切にサイズ変更できるはずです。
同じ UI レイヤーで考えられるすべての解像度に対処しようとするのは素晴らしいアイデアのように思えるかもしれませんが、失敗の元になる可能性があります。うまくいくかもしれませんが、ピクセル サイズを調べたり、コントロールのサイズを変更したり、物事を移動させたりする一連の IF-ELSE ステートメントと SWITCH ステートメントを使用して、文字列の玉になってしまう可能性が非常に高くなります。
考えてみれば、Google マップ (iPhone アプリについて考えてみてください) は、モバイルとデスクトップ ブラウザーなどで同じ UI を提供しません。それが私たちが話しているサイズの違い (モバイル VS デスクトップのような解像度) である場合は、上記の私の提案に従って、さまざまな UI レイヤーをロールする必要があります。
聖杯はいわゆるLiquid Layoutです。WPFはこれに役立ちますが、コンパクトなフレームワークを使用しているため、除外されています。
私は最近、よく似た質問をしました。異なる意見を読みたい場合は、こちらをご覧ください。