我维护了一个我正在重新写入.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,而不管屏幕实际分辨率如何)。