问题标签 [reactiveui]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
170 浏览

mvvm - 数据注释的确定性评估顺序?

我正在编写一个源自ReactiveValidatedObject. 这允许我使用数据注释来触发视图上的验证,但我遇到了一个问题:验证规则是以随机顺序进行评估的。

例如,如果属性是这样声明的(模型的字段是小数,并且方法验证器只是执行decimal.TryParse并检查值是否 >= 0):

我有确保行为如下的单元测试:

  • 如果该字段为空白,则错误应为“必填”。
  • 如果该字段包含无法解析的内容,则错误应为“无效”。

有时,我会更改另一个文件中的某些内容,运行所有测试,但这个会失败。在属性声明中交换属性的顺序可以修复测试。

有没有办法指定这些属性的应用顺序?

0 投票
1 回答
2012 浏览

c# - 带有结果的 ReactiveUI MessageBus 和 MessageBox

我在一个项目中使用 Rx,更具体地说是 ReactiveUI 已经有一段时间了,我觉得我需要一些建议。

问题是,如果执行了一个命令(单击了一个按钮),我想显示一个消息框,用户将回答是或否。根据答案,我想做更多的事情。当我将 MVVM 与单元测试一起使用时,我希望 MessageBox 是可测试的;即被其他代码替换。这基本上就是我所拥有的。

在我的视图模型中:

GuiMsgBox本质上是我在 UI 和测试中使用的类的包装器System.Windows.MessageBoxMessageBus

这在运行应用程序时一切正常,但在单元测试中,由于总线正在使用即时调度程序,显然它的工作方式不同。

我觉得这里有一些设计故障,所以对实际问题有任何意见;显示一个消息框,返回一个可以测试的结果,将不胜感激!

0 投票
1 回答
185 浏览

c# - 在 ViewModel 中构建和记录您的 IObservables

我最近一直在做一些涉及 Rx.NET 的 UI 工作;专门使用 ReactiveUI。我真的很喜欢 ReactiveUI 帮助您构建 ViewModel 交互的声明性方式。

然而,由于 ReactiveUI 中的大部分逻辑最终都将在您的构造函数中结束,因此对于复杂的 ViewModel,最终可能会有点难以导航并找到您正在寻找的位,以及记录不同的部分是什么打算做的。

你对这两个问题怎么看?将一些可观察的定义移至私有方法?创建您自己的扩展方法(“运算符”)?

期待听到其他人对此的看法!

0 投票
3 回答
3383 浏览

system.reactive - ReactiveUI 会泄露订阅吗?

我从博客中查看了 ReactiveUi 的示例,我想知道 ReactiveUI 在下面是否有某种订阅管理工具,或者这些示例是否忽略了它们可能会泄露订阅的事实?

每当我在 ReactiveUi 中调用导致 的方法时IDisposable,我是否需要保留该引用并自己跟踪它?这是否也意味着我的 ViewModel 需要是一次性的,这似乎很困难,因为我们真的不知道 WPF 中连接的“视图”何时消失(即我的 ViewModel 是否反映了数据网格中的项目)所以似乎没有合适的调用处置的地方。

0 投票
1 回答
518 浏览

system.reactive - 在 API 中使用 ReactiveCollection 是否合适?

在 API 中公开 ReactiveCollection 是否合适?具体来说,在将在多个应用程序内部使用的服务类中。但作为一个思想实验,我们也可以考虑在公共使用中。

我一直在研究 Rx 和 ReactiveUI,这些似乎是强大的工具。但是,我对他们没有足够的经验来确定要求其他人依赖他们是否是个好主意。

更多细节:

我正在创建一个跟踪连接的客户端的跟踪服务类。在我看来,消费者使用此类所需要的只是公开一个可观察的集合(可能是一个 ReactiveCollection),该集合公开连接的客户端,并通知由服务管理的集合的更改。代表已连接客户端的实体也将利用 INotifyPropertyChanged 来通知客户端状态的更新。

0 投票
1 回答
663 浏览

system.reactive - 将集合中的 PropertyChanged 事件聚合到一个 IObservable 中>

我收集了 INotifyPropertyChanged 对象,并希望将所有 PropertyChanged 事件流式传输到单个可观察序列中以进行进一步处理。

这是一个代码

由于某种原因,单个订阅在聚合序列中不起作用。看起来我聚合(使用 Reactive Extensions 的 Merge 功能)不正确。但是,在循环内订阅可以完美运行。

任何人都可以在这里帮助我,如何将多个事件流聚合为一个具有反应性扩展的事件流?

谢谢

0 投票
1 回答
365 浏览

wpf - 如何获取 ReativeCommand 以获取最新的 CanExecute 值?

我有一个绑定到 WPF 数据网格的 ReactiveCollection。其中一列是复选框列。

WPF 表单有一个绑定到 ReactiveCommand 的按钮。

我要做的只是在所有复选框都被勾选的情况下启用按钮。

似乎 ReactiveCommand 仅在实例化时检查值,而在 ReactiveCollection 中的项目更改时不会重新检查值。(ReactiveCollection 中的项目是 ReactiveObjects,所以我假设一切都应该自动触发。)

如何让按钮响应 ReactiveCollection 中对 ReactiveObjects 的更改?

0 投票
2 回答
119 浏览

windows-phone-7 - 与(Rx 和 windows Phone)绑定文本的问题

在我的应用程序中,我使用响应式扩展来发出 Web 请求。我的问题是,我提出两个请求。在第一个请求中,我将从服务器获取一个 url,并通过使用该 url 我发送另一个请求以获取图像和描述。在我的第一个请求中,除了 url,我将获得标题和日期相关信息。所以我正在做的是我将解析我的模型类中的数据,然后我将调用另一个请求。在这里,当我收到响应时,我会将其添加到可以保存结果的类对象中。当我的第一个请求的完整(onnext,error,complete)部分到达时,我将在我的财产中得到这两个结果。但问题是相应的更改,即第二个 Web 请求的结果没有反映在我的 UI 上。请任何人帮助我避免这个问题。

0 投票
2 回答
372 浏览

c# - Reactive Extensions 安装包不包含 ReactiveUI 库

我想尝试 ReactiveUI,但是 Rx 安装包不包含 ReactiveUI。我猜 ReactiveUI 在一些独立的安装包中,但我找不到它。任何人都可以分享 Microsoft 是否不再支持 ReactiveUI 的信息吗?如果是,请给我一个 ReactiveUI 库的链接。

先感谢您!

UPD:我在http://www.reactiveui.net/上找到了一个示例应用程序。它包含 ReactiveUI dll,但我想获得官方的 ReactiveUI 构建。

0 投票
1 回答
214 浏览

reactiveui - 异步批量处理 ReactiveCollection CollectionChangeEvent

我正在探索反应式 UI。我有一个 ObservableCollection 模型,其中以非常高的速度添加对象。我处理 collectionchanged 事件并为另一个 ObservableCollection 中的每个模型添加 viewModel。我们可以抑制模型列表的 CollectionChanged 事件并为一堆记录或在指定的时间间隔过去后引发事件吗?