这是我的代码。在鼠标上绘制路径,但它不是第一次触摸绘制然后绘制路径。第一次触摸时不会绘制路径。
的Xaml
<Grid PointerMoved="Grid_PointerMoved"
PointerPressed="Grid_PointerPressed">
<InkCanvas x:Name="inkCanvas" ManipulationMode="System" />
</Grid>
C#
// InputDevice类型为无
private void InkPresenter_StrokesCollected(Windows.UI.Input.Inking.InkPresenter sender,
Windows.UI.Input.Inking.InkStrokesCollectedEventArgs args)
{
inkCanvas.InkPresenter.InputDeviceTypes =
Windows.UI.Core.CoreInputDeviceTypes.None;
}
private void Grid_PointerMoved(object sender, PointerRoutedEventArgs e)
{
inkCanvas.InkPresenter.InputDeviceTypes =
Windows.UI.Core.CoreInputDeviceTypes.Mouse |
Windows.UI.Core.CoreInputDeviceTypes.Touch;
}
private void Grid_PointerPressed(object sender, PointerRoutedEventArgs e)
{
inkCanvas.InkPresenter.InputDeviceTypes =
Windows.UI.Core.CoreInputDeviceTypes.Mouse |
Windows.UI.Core.CoreInputDeviceTypes.Touch;
}
答案 0 :(得分:0)
原因是您在绘图完成后将InputDeviceTypes
重置为None
,因此在第一次触摸时,InkPresenter
被指示不绘制。
我认为没有理由在每次按InputDeviceTypes
时重新激活时更改InkCanvas
。因此,您只需在构造函数中将InputDeviceTypes
设置为Mouse
和Touch
,然后删除所有三个事件处理程序。