Как вернуть MouseCapture после нажатия кнопки в рекламном устройстве? (Пытаюсь сделать выбор по выбору)

Я обновляю настраиваемого рекламодателя, которого я нашел здесь, чтобы разрешить выбирать контент и держать рекламодателя видимым, пока пользователь не щелкает. Я пытаюсь обнаружить щелчок за пределами контроля с Mouse.Capture, Проблема возникает, когда я помещаю фокусируемый объект (например, текстовое поле или кнопку) в свой рекламный блок и нажимаю на него. Похоже, что рекламодатель теряет захват мыши и больше не обнаруживает щелчок снаружи. есть ли возможность вернуться Mouse.Capture или поднять мою функцию выхода, что бы не фокусировалось в содержании рекламодателя?

Что у меня на данный момент:

protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e)
{
    base.OnMouseLeftButtonUp(e);

    if (IsAdornerSelected)
         return;

    IsAdornerSelected = true;
    Mouse.Capture(this.AdornerContent, CaptureMode.SubTree);

    AdornerContent.AddHandler(Mouse.PreviewMouseDownOutsideCapturedElementEvent, new MouseButtonEventHandler(HandleClickOutsideOfControl), true);
}

protected void HandleClickOutsideOfControl(object sender, MouseButtonEventArgs e)
{
    IsAdornerSelected = false;

    AdornerContent.RemoveHandler(Mouse.PreviewMouseDownOutsideCapturedElementEvent, new MouseButtonEventHandler(HandleClickOutsideOfControl));
    AdornerContent.ReleaseMouseCapture();
}

Я хотел бы отменить выбор рекламодателя, если я нажму снаружи, даже если основное внимание будет уделено элементу интернета. Возможно?

Также не знаю, если эта строка:

AdornerContent.RemoveHandler(Mouse.PreviewMouseDownOutsideCapturedElementEvent, new MouseButtonEventHandler(HandleClickOutsideOfControl));

полезно

(Извините, мой английский очень грубый)

0 ответов

Другие вопросы по тегам