Csharp/C#教程:ReactiveList和WhenAny分享


ReactiveList和WhenAny

我在ReactiveLists中保存了一些具有ChangeTrackingEnabled = true的检查列表。 我想只在每个列表中至少检查一个项目时启用我的OkCommand。

此外,我还要确保使用有效的字节值填充各种其他属性。

我尝试过以下操作,但它不起作用:

  this.OkCommand = new ReactiveCommand(this.WhenAny( x => x.Property1, x => x.Property1, x => x.Property1, x => x.List1, x => x.List2, x => x.List3, (p1, p2, p3, l1, l2, l3) => { byte tmp; return byte.TryParse(p1.Value, out tmp) && byte.TryParse(p2.Value, out tmp) && byte.TryParse(p3.Value, out tmp) && l1.Value.Any(x => x.IsChecked) && l2.Value.Any(x => x.IsChecked) && l3.Value.Any(x => x.IsChecked); })); 

似乎属性更改通知未传播到WhenAny。 知道我应该做什么吗?

这是在有人设置列表时进行测试,即:

 this.List1 = new ReactiveList(); 

相反,你需要这样的东西:

上述就是C#学习教程:ReactiveList和WhenAny分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 this.WhenAnyObservable(x => x.List1.ItemChanged, x => x.List2.ItemChanged) .Where(x => x.PropertyName == "IsChecked") .Select(_ => List1.Any(x => x.IsChecked) && List2.Any(x => x.IsChecked)); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1008107.html

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐