我已经实现了自定义InkCanvas和多个自定义笔划,这些描述如下: Custom Rendering Ink
每件事情都很好,除了我不能在我的笔画上进行命中测试。 在"实施自定义笔划"上面链接的部分,它说:
Stroke类也可以执行命中测试。您还可以通过覆盖当前类中的HitTest方法来实现自己的命中测试算法。
但是我找不到任何可以覆盖的HitTest方法版本!!!
有人可以帮我实现自定义击中的命中测试吗?
由于
答案 0 :(得分:0)
好吧,找到了解决方案。
protected override void OnPreviewMouseDown(MouseButtonEventArgs e)
{
if (EditingMode == InkCanvasEditingMode.Select)
{
var strokes = Strokes.Where(x => (x is CustomStroke) && ((CustomStroke)x).HitTestPoint(e.GetPosition(this))).ToList();
if (strokes.Any())
Select(new StrokeCollection(strokes));
}
base.OnPreviewMouseDown(e);
}