【发布时间】:2018-08-06 14:36:01
【问题描述】:
我正在使用 InkCanvas.Clip 属性将我的 InkCanvas 剪辑成我需要的形状(为此我使用 PathGeometry)。我只能在这个区域开始绘图,但我希望能够在它之外开始绘图。当然,超出该区域的描边部分将不会显示。 我怎样才能做到这一点?我考虑过覆盖 InkCanvas 的 HitTestCore,也许默认情况下,HitTest 在我允许的绘图区域之外失败
【问题讨论】:
-
在哪里显示被剪裁的 InkCanvas 之外的笔触?
-
@Iron 无处可去。现在,如果您开始在内部绘制并向外绘制,笔画会被注册,但它们不会显示在外部(如果您移除剪辑,您将能够在外部看到它们)。我希望能够开始在外面画画,然后进来。笔画应仅在内部显示
-
由于
InkCanvas被剪裁,它无法接收触发绘图的MouseDown事件。所以,你不能开始在外面画画,然后进来。 -
@Iron 我认为 Hit Test 可能在外面是负面的,我可以覆盖它。有可能吗?
-
是的,
HitTest在外面无效。不幸的是,你不能覆盖它,因为剪裁的UIElement将被 WPF 穿透。
标签: wpf drawing hittest inkcanvas