InkCanvas在“按钮弹出”中无法正常工作

问题描述

我将按钮弹出按钮中的InkCanvas控件与InkTookbar控件配对,如下所示...

<Button>
   <Button.Flyout>
      <Flyout>
         <Grid Height="300">
            <Grid.RowDeFinitions>
               <RowDeFinition Height="Auto" />
               <RowDeFinition Height="*" />
            </Grid.RowDeFinitions>
           <InkToolbar x:Name="inkToolbar"
                               Grid.Row="0"
                               TargetInkCanvas="{x:Bind inkCanvas}" />
           <InkCanvas x:Name="inkCanvas"
                              Grid.Row="1"/>
         </Grid>
      </Flyout>
   </Button.Flyout>
</Button>

我发现InkCanvas控件不响应鼠标输入。

我尝试了几件事:

  1. 将弹出窗口的OverlayInputPassthroughElement属性绑定到InkCanvas。然后我意识到,这是没有意义的,因为InkCanvas不在弹出窗口的叠加层之下。

  2. 将InkCanvas的AllowFocusOnInteraction属性设置为True,但这无效。

InkCanvas如何在弹出窗口中作出响应?

解决方法

要使Incanvas响应鼠标输入,您必须设置输入设备

inkCanvas.InkPresenter.InputDeviceTypes = Windows.UI.Core.CoreInputDeviceTypes.Mouse | Windows.UI.Core.CoreInputDeviceTypes.Pen | Windows.UI.Core.CoreInputDeviceTypes.Touch;

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...