反转ObservableCollection的布尔值

时间:2014-09-17 11:56:48

标签: c# wpf boolean observablecollection reverse

我的目标是反转一个名为ActiviteCollection的ObservableCollection的布尔值。

这个布尔值被自动定义为False(0)但是当我点击一个按钮时,一些布尔变为真。这反过来我没有成功,我在网上找不到这样的东西。

提前感谢您的帮助。

如果您想要一些代码,我可以编辑我的帖子,但是反转ObservableCollection的布尔值的一般方法应该足以帮助我找到我的目标。

这是Button的脚本,它将反转布尔值:

private void click_PrisEnCompte(object sender, RoutedEventArgs e)
{
    var viewModel = (ViewModel)(sender as System.Windows.Controls.ListBoxItem).DataContext;

    foreach (var data in DonneesBrutes.SelectedItems)
    {
        if(viewModel.ActiviteCollection.Any(c => c.PMRQTOTMActivite == DonneesBrutes.CurrentItem.ToString()))
        {
            var reversedCollection = viewModel.ActiviteCollection.Select(t => !t);
        }
    }
}

此脚本目前无法正常工作,在选择:The type Arguments for method ... cannot be inferred for the usage.及其上发生错误!Cannot apply Operator ! to operand of type.....

4 个答案:

答案 0 :(得分:2)

foreach (var data in DonneesBrutes.SelectedItems)
{
    foreach (var item in viewModel.ActiviteCollection.Where(c => c.PMRQTOTMActivite == DonneesBrutes.CurrentItem.ToString()))
    {
        item.MyBoolean = !item.MyBoolean;
    }
}

答案 1 :(得分:0)

bool b = false;
b = !b; //Inverted!!

在Observable Collection中

ObservableCollection<Bool> BooleanList;
foreach(bool b in BooleanList)
    b = !b;

答案 2 :(得分:0)

以下内容将“反转”您收藏中的每件商品:

var reversedCollection = from t in ActiviteCollection select !t;

答案 3 :(得分:0)

如果你想&#34;反向&#34;给定索引处的布尔值可以这样做:

ActiviteCollection[index] = !ActiviteCollection[index];