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. Есть идеи, что мне делать?