我想知道是否有办法在bindable linq中执行此操作:
var LeftItems = AllItems.Where(p => !RightItems.Contains(p)));
我尝试过自由使用AsBindable(),但它对我不起作用..
var LeftItems = AllItems.AsBindable().Where(p => !RightItems.AsBindable.Contains(p)));
如果在BindableLINQ中不支持这种方法,是否有一个巧妙的解决方法我没有看到或是否有其他类似的软件包支持它?
答案 0 :(得分:0)
.Where()方法是最后一个运行的方法,因此.Where()扩展方法的结果类型是leftItems将具有的类型。如果你想把结果作为可绑定的,我认为你应该这样做:
var leftItems = AllItems.Where(p => !RightItems.Contains(p)).AsBindable();
答案 1 :(得分:0)
答案 2 :(得分:0)
尝试使用我的ObservableComputations库。使用该库:
var LeftItems = AllItems.Filtering(p => !RightItems.ContainsComputing(p).Value));
要使上述代码能够正常工作,AllItems和RightItems应该实现INotifyCollectionChanged(ObservableCollection)/