如果DPI大于100%,则移动WPF InkCanvas笔划

问题描述

在WPF应用程序中,我使用InkCanvas进行绘图,并且在使用笔时出现“偏移笔划”问题。

如果我在系统设置中将DPI,“缩放和布局”设置为100%以上,例如对于2160p分辨率设置为150%,则InkCanvas中的笔画将向右和向下移动。

在图像1中,您可以看到我实际上用PEN画了线(红线),以及InkCanvas如何移动它(蓝线)。 但是,仅在使用Pen或Touch时会发生此问题。如果我用鼠标绘图就可以了。

我使用InkCanvas的认设置。

Xaml:

<InkCanvas x:Name="inkCanvas" 
          Height="250" Width="350"
          Opacity="1"
          Background="LightGray" />

隐藏代码

inkCanvas.DefaultDrawingAttributes.Color = Colors.Blue;
inkCanvas.DefaultDrawingAttributes.FitToCurve = true;
inkCanvas.DefaultDrawingAttributes.IgnorePressure = false;
inkCanvas.DefaultDrawingAttributes.Width = 4;
inkCanvas.DefaultDrawingAttributes.Height = 4;

Input offset with PEN

我也尝试在app.config中打开EnablePointerSupport支持,但是它不起作用。笔触不再可见。

App.config

  <runtime>
    <AppContextSwitchOverrides value="Switch.System.Windows.Input.Stylus.EnablePointerSupport=true"/>

如何为WPF应用程序将DPI支持设置为大于100%?有趣的是,在UWP,一切正常。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)