- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 ReactiveUI 和提供的 ReactiveCollection<>
类。
在 ViewModel 中,我有一个对象集合,我希望创建一个可观察对象来监视这些项目的 IsValid 属性。
这是我要解决的场景。在我的 ViewModel 的构造函数中。
this.Items = new ReactiveCollection<object>();
IObservable<bool> someObservable = // ... how do I watch Items so when
// any items IsValid property changes,
// this observable changes. There
// is an IValidItem interface.
this.TheCommand = new ReactiveCommand(someObservable);
...
interface IValidItem { bool IsValid { get; } }
编辑 Ana 的回答让我明白了大部分内容。解决方案如下。
this.Items = new ReactiveCollection<object>();
this.Items.ChangeTrackingEnabled = true;
var someObservable = this.Items.Changed
.Select(_ => this.Items.All(i => i.IsValid));
最佳答案
这取决于您想对 IsValid 的结果做什么。以下是我的做法,尽管它并不完全直观:
// Create a derived collection which are all the IsValid properties. We don't
// really care which ones are valid, rather that they're *all* valid
var isValidList = allOfTheItems.CreateDerivedCollection(x => x.IsValid);
// Whenever the collection changes in any way, check the array to see if all of
// the items are valid. We could probably do this more efficiently but it gets
// Tricky™
IObservable<bool> areAllItemsValid = isValidList.Changed.Select(_ => isValidList.All());
theCommand = new ReactiveCommand(areAllItemsValid);
关于system.reactive - 如何观察一组项目何时都有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11220880/
对于这个简单的代码来说: int foo(void); int (*p)(void); p = foo; p = &foo; int a = p(); int b = (*p)(); 在上面的例子中,
我遇到了多个 ID 与 CSS 不工作的问题。 这是我的完整代码: /* Add a black bac
我正在开发一个使用 PDO 的应用程序。 我注意到,当绑定(bind)参数时,无论我在绑定(bind)参数变量上使用还是省略冒号,查询仍然有效。 例子: $sql = "SELECT * FROM `
我的代码过去曾经可以工作,但是现在结构大小突然变成了16个字节。它曾经是13个字节。我最近从Xcode 4.2升级到Xcode 4.3.1(4E1019)。 #pragma pack(1) struc
问候, 我在处理 mysql 异常时遇到了这个有趣的问题,其中引发的异常响应两个不同的异常名称。这是怎么发生的? -丹尼尔 #!/usr/bin/env ruby require 'rubygems'
这个问题已经有答案了: What are Rust's exact auto-dereferencing rules? (4 个回答) 已关闭 3 年前。 我很困惑为什么这个函数 get适用于 Vec
一般来说,我是 MVC 以及 JQuery 和 AJAX 的新手,我遇到了一个奇怪的问题。 我已经完成了构建练习网站的第一次试运行,在过去的几天里,我投入了时间来添加 JQuery 等,以使网站更具交
我是一名优秀的程序员,十分优秀!