我正在重写一款触摸屏应用程序,并涉及到it技术。随着时间的推移,触摸屏幕的分辨率大大提高。不仅分辨率更高,像素也更加密集,使触摸按钮变得更难以看见/操作。
使用WPF是否有办法在分辨率/像素密度改变时,强制应用程序窗口自动缩放变大? 我不想每隔几年就重新设计这些屏幕。
我正在重写一款触摸屏应用程序,并涉及到it技术。随着时间的推移,触摸屏幕的分辨率大大提高。不仅分辨率更高,像素也更加密集,使触摸按钮变得更难以看见/操作。
使用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,而不管屏幕实际分辨率如何)。