MouseMove Observable для ReactiveUserControl не получает все события - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь добавить Observable к событиям MouseMove в ReactiveUserControl, используя следующий код в конструкторе:

this.WhenActivated(disposables => { var movingEvents = Observable.FromEventPattern<MouseEventHandler, MouseEventArgs>(h => MouseMove += h, h => MouseMove -= h); var mousePosition = movingEvents.Select(evt => evt.EventArgs.GetPosition(this)); mousePosition.Subscribe(pos => Console.WriteLine(pos.ToString())); }

Это работает, но иногда просто перестает "ловить"«события на случайный период.Если я использую тот же код в конструкторе MainWindow, который является просто элементом управления Window, он, похоже, получает все события.

Есть ли что-то, что я пропускаю?

1 Ответ

0 голосов
/ 30 января 2019

Сначала я хотел бы рассмотреть вопрос об использовании пакета NuGet ReactiveUI.Events.WPF.Он содержит все общие события пользовательского интерфейса, поэтому вам не нужно генерировать их самостоятельно с помощью FromEventPattern.

Для проблемы UserControl, скорее всего, вам понадобится набор фона.WPF по умолчанию не будет их запускать.См. OnMouseMove не запускается на холсте в WPF для получения более подробной информации.

...