2009-06-28 46 views
0

我不知道是否有一种方法在可绑定LINQ做到这一点:BindableLinq收集筑巢

var LeftItems = AllItems.Where(p => !RightItems.Contains(p))); 

我曾尝试自由使用的AsBindable(),但它不为我工作..

var LeftItems = AllItems.AsBindable().Where(p => !RightItems.AsBindable.Contains(p))); 

如果这不是在BindableLINQ支持,有一个聪明的解决办法,我没有看到,还是有其他类似的包,它支持呢?

回答

0

.Where()方法是最后一个运行的,因此.Where()扩展方法的结果类型是leftItems将要使用的类型。如果你想要的结果可以绑定,我认为你应该简单地做:

var leftItems = AllItems.Where(p => !RightItems.Contains(p)).AsBindable(); 
0

我认为你正在寻找Except方法。

var LeftItems = AllItems.Except(RightItems); 

不确定这是否在可绑定的linq中实现。

否则,您应该尝试Obtics