InkCanvas无法触控。

时间:2018-02-09 06:05:55

标签: uwp inkcanvas

这是我的代码。在鼠标上绘制路径,但它不是第一次触摸绘制然后绘制路径。第一次触摸时不会绘制路径。

的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;
    }

1 个答案:

答案 0 :(得分:0)

原因是您在绘图完成后将InputDeviceTypes重置为None,因此在第一次触摸时,InkPresenter被指示不绘制。

我认为没有理由在每次按InputDeviceTypes时重新激活时更改InkCanvas。因此,您只需在构造函数中将InputDeviceTypes设置为MouseTouch,然后删除所有三个事件处理程序。