Как вернуть 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));
полезно
(Извините, мой английский очень грубый)