首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Avalonia + ReactiveUI - Events()生成的药剂师

Avalonia + ReactiveUI - Events()生成的药剂师
EN

Stack Overflow用户
提问于 2021-04-29 03:48:54
回答 1查看 188关注 0票数 0

我试图了解一下Avalonia的总体情况,特别是响应式UI集成。通过搜索,我了解到Avalonia在ReactiveUI中取消了对Avalonia的支持,并试图将ReactiveUI集成到Avalonia本身中,以支持有时不稳定的Avalonia API。

我正在实现一个流,其中双击DataGrid行应该会打开一个详细信息窗口,这可以通过在后面的代码中为DoubleTapped事件添加一个处理程序来实现。但是,我想知道是否可以通过观察DoubleTapped事件,在WhenActivated()实现中以一种反应式UI的方式完成此操作。

在ReactiveUI文档中,我看到有一个药剂师集成,它为这些事件生成观察值。但是,当我在后台代码中获取对DataGrid的引用,并尝试通过myDataGrid.Events(). ...连接到DoubleTapped时,我看不到任何事件。这是否意味着目前在Avalonia中没有这样的支持?

最后,如果我忘记了反应式UI支持,并使用直接的事件处理程序,我需要做一些事情来检测它是被双击的行,还是其他东西(例如标题)。我必须这样做,因为据我所知,在Avalonia中没有EventSetter实现。

有人知道Avalonia在未来是否会支持这一点?

编辑:最后我使用了ReactiveUI,有点类似于

代码语言:javascript
复制
TreeView.GetObservable(DoubleTappedEvent)
                .Subscribe(async x =>
                {
                    var selectedItem = TreeView.SelectedItem;
                    if (selectedItem is TreeNodeViewModel treeNodeViewModel)
                    {
                        await ViewModel!.ActivateResource(treeNodeViewModel);
                    }
                }).DisposeWith(d);
EN

回答 1

Stack Overflow用户

发布于 2021-05-11 21:52:37

附加的行为还有助于绑定事件以执行逻辑。有一个示例看起来可以在DoubleTappedEvent被触发的情况下工作。

Avalonia Docs - Creating and binding Attached Properties

开发工具应该有助于显示您正在通过DataGrid寻找隧道和气泡的事件?

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

https://stackoverflow.com/questions/67306998

复制
相关文章

相似问题

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