WPF hitTest на сам UserControl

196
25 мая 2018, 23:30

Есть у меня UserControl под именем Pin. Внутри него есть несколько элементов Path. При использовании VisualTreeHelper.HitTest я получаю ссылки на эти Path, однако я хочу получать ссылку на сам Pin. Я узнал, что нужно использовать

protected override HitTestResult HitTestCore(PointHitTestParameters hitTestParameters)
{
    return new PointHitTestResult(this, hitTestParameters.HitPoint);
}

внутри кода моего Pin, но я по прежнему получаю ссылки на Path вместо Pin.

Что я делаю не так?

Answer 1

В поиске:

void click()
{
    Pin pin = null;
    Vector2 mouse = Mouse.GetPosition(MainWindow.main).ToVector2();
    VisualTreeHelper.HitTest(MainWindow.main, PinHitFilter, PinHitResult, new PointHitTestParameters(mouse));
}
HitTestFilterBehavior PinHitFilter(DependencyObject o)
{
    if (o is Pin) return HitTestFilterBehavior.ContinueSkipChildren;
    return HitTestFilterBehavior.Continue;
}
HitTestResultBehavior PinHitResult(HitTestResult result)
{
    Pin pin = result.VisualHit as Pin;
    return HitTestResultBehavior.Stop;
}

В элементе:

protected override HitTestResult HitTestCore(PointHitTestParameters hitTestParameters)
{
    return new PointHitTestResult(this, hitTestParameters.HitPoint);
}

Так этот способ работает.

READ ALSO
Вывод записей с БД средствами PHP в стиле Masonry

Вывод записей с БД средствами PHP в стиле Masonry

предположим есть вот такая разметка HTML:

231
Как настроить open server для mail()?

Как настроить open server для mail()?

Помогите настроить open server для отправки mail

236
Php Фатальная ошибка.(mb_substr)

Php Фатальная ошибка.(mb_substr)

возникает ошибка при использовании функции mb_substr() Fatal error: Uncaught Error: Call to undefined function subsrt() in C:\xampp\htdocs\mylocalwebloc\index

209