問題タブ [avaloniaui]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Avalonia UI スケーリングの問題
Avalonia を使用してクロスプラットフォームのデスクトップ MVVM アプリケーションを開発していますが、問題はかなり単純です。
ウィンドウ全体をターゲット デバイスのディスプレイ解像度に合わせたいと思います。たとえば、UI は常にディスプレイの 25 ~ 50% をカバーするようにスケーリングする必要がありますが、それ以上大きくすることはできません。スケーリングには、すべてのフォント サイズ、幅と高さのプロパティなどを含める必要があります。ここで視覚化するために、私の 4K デスクトップでどのように見えるかを示します。
解像度がかなり低い私のLinuxラップトップでは、次のようになります。
私がやりたいのは、ディスプレイの解像度に応じてすべてを拡大または縮小して、ゴミのように見えないようにし、フォントが常にはっきりと読めるようにすることです(フォントも拡大縮小する必要があります)。 (おそらく UI スケーリング用の WinAPI 呼び出しもありますが、このソリューションは Linux と OSX でも動作するはずです)
これは、Avalonia を使用してどのように実装できますか? または、これを達成するための好ましい方法はありますか?
アプリケーションの幅と高さの比率は一定に保つ必要があり、アプリケーションが画面全体をカバーしてはならないことに注意してください。
これまでの私の考え:
おそらく、すべてのサイズ パラメーターのバインドを作成し、何らかの倍率を使用してアプリケーションの起動時に最適なサイズを再計算することもできますが、これには大量の新しいコードが必要であり、フォント サイズを実装するのは面倒です。
バインディングや、CSS メディア クエリなどのスタイル プリセットの束を作成することもできますか? それも大変な作業になりますが。
目的の効果を達成するためのより良い方法はありますか?
avaloniaui - Avalonia UI の抽象 Adorner (wpf) クラスに似ていますか?
WPF で装飾要素が抽象クラスAdornerを使用して実装されている場合、Avalonia UIでこのオブジェクトの実装を実現する方法は?