首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未获取所有事件的ReactiveUserControl上可观察到的MouseMove

未获取所有事件的ReactiveUserControl上可观察到的MouseMove
EN

Stack Overflow用户
提问于 2019-01-30 23:52:38
回答 1查看 125关注 0票数 0

我正尝试在构造函数中使用以下代码向ReactiveUserControl中的MouseMove事件添加一个可观察对象:

代码语言:javascript
运行
复制
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构造函数中使用相同的代码,该构造函数只是一个窗口控件,它似乎获得所有事件。

我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-31 01:29:35

我会首先考虑使用ReactiveUI.Events.WPF NuGet包。它包含所有常见的UI事件,因此您不必使用FromEventPattern自己生成它们。

对于UserControl问题,很可能是您需要背景设置。默认情况下,WPF不会触发它们。有关更多详细信息,请参阅OnMouseMove does not fire on canvas in WPF

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54444489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档