Я пытаюсь отфильтровать ListView с помощью фильтров-флажков и применяю эти фильтры к перечислению.Это работает для одного фильтра, но не для комбинации.Перечисление имеет все значения power, равные двум, и атрибут [Flags]
.Вот мой код:
int statuses = 0;
if ((bool)Filter1CB.IsChecked)
{
statuses++;
}
if ((bool)Filter2CB.IsChecked)
{
statuses += 2;
}
if ((bool)Filter3CB.IsChecked)
{
statuses += 4;
}
if ((bool)Filter4CB.IsChecked)
{
statuses += 8;
}
Sp.Filter = item =>
{
return item is Sp sp && sp.CurrentStatus == (SpStatus)statuses;
};
Я проверил, значение статусов равно 3, когда проверены фильтры 1 и 2, и так далее.Но он не применяет никаких фильтров ...
Вот мое перечисление:
[Flags]
public enum SpStatus
{
Filter1 = 1 << 0,
Filter2 = 1 << 1,
Filter3 = 1 << 2,
Filter4 = 1 << 3,
}