私は.Netに書き直したタッチスクリーンアプリケーションを維持しています。長年にわたり、タッチスクリーンの解像度は大幅に向上しました。解像度が高くなるだけでなく、ピクセル密度が大幅に高くなるため、タッチ ボタンが見にくく、操作しにくくなります。
解像度/ピクセル密度の変化に応じて、アプリケーションウィンドウを強制的に拡大するWPFの方法はありますか? これらの画面を数年ごとに作り直す必要はありません。
私は.Netに書き直したタッチスクリーンアプリケーションを維持しています。長年にわたり、タッチスクリーンの解像度は大幅に向上しました。解像度が高くなるだけでなく、ピクセル密度が大幅に高くなるため、タッチ ボタンが見にくく、操作しにくくなります。
解像度/ピクセル密度の変化に応じて、アプリケーションウィンドウを強制的に拡大するWPFの方法はありますか? これらの画面を数年ごとに作り直す必要はありません。
はいあります。
コンテナーを WPF の ViewBox でラップできます。次に例を示します。
<Window x:Class="TestWPF.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Viewbox Stretch="Uniform">
<StackPanel Background="Azure" Height="400" Width="300" Name="stackPanel1" VerticalAlignment="Top">
<Button Name="testBtn" Width="200" Height="50">
<TextBlock>Test</TextBlock>
</Button>
</StackPanel>
</Viewbox>
</Window>
スクリーンショット:
詳細については、このトピックを参照してください。
これはデフォルトの動作であり、各 WPF の「ピクセル」は 1/96 インチであり、実際のピクセルではありません (唯一の問題は、画面の実際の解像度に関係なく、実質的にすべての画面が 96DPI に設定されていることです)。