C# WPF InkCanvas绘图宽度/高度在不同环境中不一致

C# WPF InkCanvas绘图宽度/高度在不同环境中不一致,c#,wpf,winapi,touch,inkcanvas,C#,Wpf,Winapi,Touch,Inkcanvas,我有一个InkCanvas控件,它占据了我的整个屏幕。绘图需要鼠标或触摸输入。我有InkCanvas的最基本配置,它看起来像这样: <InkCanvas Grid.Row="2" x:Name="inkCanvas"> </InkCanvas> 我可以使用鼠标和触摸输入绘制笔划。就笔划宽度/高度而言,行为是一致的,它们是相同的。然而,当我尝试使用触摸注入API在相同的InkCanvas上绘制时,我使用Win32 touch函数将触摸注入操作系统,笔划看起来要薄得多 我尝

我有一个InkCanvas控件,它占据了我的整个屏幕。绘图需要鼠标或触摸输入。我有InkCanvas的最基本配置,它看起来像这样:

<InkCanvas Grid.Row="2" x:Name="inkCanvas">
</InkCanvas>
我可以使用鼠标和触摸输入绘制笔划。就笔划宽度/高度而言,行为是一致的,它们是相同的。然而,当我尝试使用触摸注入API在相同的InkCanvas上绘制时,我使用Win32 touch函数将触摸注入操作系统,笔划看起来要薄得多

我尝试通过添加以下内容来更改其上的图形属性:

<InkCanvas Grid.Row="2" x:Name="inkCanvas">
    <InkCanvas.DefaultDrawingAttributes>
        <DrawingAttributes Width="10" Height="10"/>
    </InkCanvas.DefaultDrawingAttributes>
</InkCanvas>
进行此更改后,使用触摸注射绘制的笔划在宽度和高度上按比例增长。但与鼠标或直接触摸输入相比,它们又薄了很多

我的问题是,是否有人使用Windows Touch Injection API玩过InkCanvas,并且确切地知道为什么InkCanvas在Direct Touch和Injected Touch之间表现不同


另外,除了我正在做的方法之外,还有其他方法来设置InkCanvas笔划的宽度和高度吗?

好的,找到了解决方案。使用触摸输入时,操作系统似乎报告了一些默认压力。InkCanvas本身尊重这种压力,并赋予它特定的值

My touch injection API未报告任何压力,例如为0。因此,笔划看起来要细得多。下面的行修复了它:

<InkCanvas>
    <InkCanvas.DefaultDrawingAttributes>
        <DrawingAttributes IgnorePressure="True"/>
    </InkCanvas.DefaultDrawingAttributes>
</InkCanvas>