「Web ブラウザー WPF ... アプリケーション」の意味がよくわかりません。XBAP について話している場合を除き、WPF は Web ブラウザーでは実行されません。それともSilverlightをやっていますか?それとも単なる WPF ナビゲーション アプリケーションであり、ブラウザベースではありませんか? 明確にする必要があります。
WPF は、高 DPI モードで実行すると、コンテンツを自動的にスケーリングします。これは意図された動作です。ユーザーが明示的に画面上ですべてを大きくしたいと言った場合、WPF はユーザーの希望を尊重します。「高DPIが存在しないふりをして、すべてを通常の小さなサイズで表示し、ユーザーをあまり怒らせないことを願っています」という古いWinFormsハックは、WPFでは利用できません。あなたがそれに取り組むならば、おそらくそれらをエミュレートすることができますが、あなたは正しいことをすることに非常に強く導かれています.
WPF はすべてをスケーリングするため、「キャンバスの一部が見えない」というあなたの発言は意味がありません。キャンバス、その親ウィンドウ、およびその子要素をすべて同じ量だけスケーリングする必要があるため、すべてが 96 dpi に収まる場合は、120 dpi と 144 dpi にも収まる必要があります。そうでない場合は、おかしなことをしているので、問題を再現するコード サンプルを提供する必要があります。
高 DPI モードで実行するとフォントがぼやけると主張しているようですが、これは非常に奇妙に聞こえます。フォントはベクターとしてレンダリングされるため、きれいにスケーリングされ、高 DPI モードでもくっきりとレンダリングされます。あなたが説明したぼやけたフォントを見たことがないので、繰り返しになりますが、再現ケースを提供する必要があります。
ぼやけていると思うのは画像だけです。UI でラスター (ビットマップ) 画像 (BMP / GIF / JPG / PNG) を使用している場合 (たとえば、ツールバーのアイコンなど)、はい、スケーリングすると見栄えが悪くなります。小さなビットマップを取得して大きくすると、ほとんどの場合、見栄えが悪くなります。より大きな画像を使用してサイズを小さくして表示することで、この問題を回避できます。たとえば、ツールバーの画像を 16x16 (標準の 96 dpi モードの場合) にしたい場合は、32x32 のビットマップをXAML で Image 要素の Width="16" と Height="16" を設定し、見栄えが良くなるかどうかを確認します。実際には、120dpi モードでは 20x20 物理ピクセルになり、144dpi モードでは 24x24 になります。どちらも 32x32 リソースから縮小されたままなので、拡大する必要があった 16x16 のソース イメージよりも見栄えがよくなります。(ただし、この手法を WPF ツールバーで試したことはないので、典型的なツールバー イメージで実際にどの程度うまく機能するかはわかりません。)
画像のスケーリングに関する問題を回避する最善の方法は、ラスターではなくベクター画像を使用することです。残念ながら、ベクター画像のライブラリを見つけるのは困難です。それらは数が少なく、その中間であり、通常、ビットマップ画像で見つけられるものよりも包括的ではなく、多くの場合高価です。