如何在UWP应用程序中禁用画布上的用户交互?

时间:2018-04-11 06:23:05

标签: c# canvas uwp

我已经以这种方式实施了客户签名区域。用户可以在画布上绘制他的签名。

contacts = new Dictionary<uint, Windows.UI.Xaml.Input.Pointer>((int)touchCapabilities.Contacts);
// Declare the pointer event handlers.
Target.PointerPressed += new PointerEventHandler(Target_PointerPressed);
//Target.PointerEntered += new PointerEventHandler(Target_PointerEntered);
Target.PointerReleased += new PointerEventHandler(Target_PointerReleased);
Target.PointerExited += new PointerEventHandler(Target_PointerExited);
//Target.PointerCanceled += new PointerEventHandler(Target_PointerCanceled);
Target.PointerCaptureLost += new PointerEventHandler(Target_PointerCaptureLost);
Target.PointerMoved += new PointerEventHandler(Target_PointerMoved);
Target.PointerWheelChanged += new PointerEventHandler(Target_PointerWheelChanged);

renderer = new XamlInkRenderer(CaptureArea);

现在我要做的是禁用此画布上的绘图(CaptureArea)。禁用它后,不应在此画布上为用户交互生成任何事件。此外,如果满足某些条件,我想重新启用用户交互。我怎样才能做到这一点?我看不到任何与canvas对象或XamlInkRenderer对象相关的禁用功能。请帮我。 感谢

1 个答案:

答案 0 :(得分:1)

您可以将IsHitTestVisible属性用于UIElement。将其设置为false以禁用,并根据您具有的条件启用true。它也可以Canvas使用。

来自MSDN

  

获取或设置一个值,该值声明此元素是否可能   作为其渲染的某些部分的命中测试结果返回   内容。这是一个依赖属性。