【发布时间】:2015-03-27 01:31:40
【问题描述】:
我有一个占据整个屏幕的 InkCanvas 控件。绘图需要鼠标或触摸输入。我有 InkCanvas 最基本的配置,它看起来像这样:
<InkCanvas Grid.Row="2" x:Name="inkCanvas">
</InkCanvas>
我可以使用鼠标和触摸输入来绘制笔触。就笔画宽度/高度而言,行为是一致的(它们是相同的)。但是,当我尝试使用我的触摸注入 API(我使用 Win32 触摸功能将触摸注入操作系统)在同一个 InkCanvas 上绘图时,笔触看起来要细得多。
我尝试通过添加以下内容来更改其上的绘图属性:
<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 笔画的宽度和高度吗?
【问题讨论】:
标签: c# wpf winapi touch inkcanvas