WPFアプリケーションをすべてのシステムスケールで同じサイズにする方法はありますか?WPFアプリケーションはすべてのシステムスケールで同じサイズ(スケールに依存しません)
私はフルHD画面で125%からテキスト、アプリケーションやWindowsのシステム設定で、他の項目のサイズ変更(推奨)%のを変更すると、私のWPFアプリケーションが小さすぎ取得します。
private void ScaleTo125Percents()
{
// Change scale of window content
MainContainer.LayoutTransform = new ScaleTransform(1.25, 1.25, 0, 0);
Width *= 1.25;
Height *= 1.25;
// Bring window center screen
var screenHeight = System.Windows.SystemParameters.PrimaryScreenHeight;
var screenWidth = System.Windows.SystemParameters.PrimaryScreenWidth;
Top = (screenHeight - Height)/2;
Left = (screenWidth - Width)/2;
}
しかし、この関数を呼び出すための条件があります:独立したシステム規模のアプリケーションを実装するために私は戻って125%に私のアプリのスケーリングを変更するには、このような関数を書いてきました。最初の画面はFull-HD(これをチェックするためのAPIがあります)で、システムの規模は100%(システム規模を得るための.NET APIはありません)でなければなりません。
どうすればよいですか?アプリケーションシステムの規模を独立させるための標準的な方法はありますか?
私が見てきた規模の独立したアプリケーションの例:
- のVisual Studio 2017インストーラー
- 電報デスクトップ
'Viewbox'レイアウトコンテナチェックアウト:https://blog.udemy.com/wpf-viewbox/ –
@BradleyUffner' Viewbox'変更を要素のサイズを変更して拡大縮小します。私は、システム設定に基づいて静的なスケールが必要です。私はそれが助けてくれるとは思わない。 – 0xaryan
私はあなたが「規模に左右されない」と言うときにあなたが求めていることを十分に理解しているとは思わない。 'Viewbox'はあなたに特定の仮想サイズのキャンバスを与えることができます。アプリケーションのウィンドウサイズやシステムDPIにかかわらず、 'Viewbox 'が常に指定されたサイズであるかのように、その中に配置されたすべてが表示され、レイアウトされます。たぶんさまざまなサイズでコンテンツがどのように振る舞うかの図が役立つでしょう。 –