У меня есть ItemsControl со следующей привязкой:
ItemsControl ItemsSource="{Binding SelectedItems}
В коллекции 10 SelectedItems, у каждого из которых есть поле со списком с этой привязкой:
ComboBox ItemsSource="{Binding SelectableItems}
Когда SelectableItemвыбран SelectedItems ObservableCollection обновляетсяЗатем я бы хотел, чтобы SelectableItem был отключен, чтобы его нельзя было выбрать ни в одном из других комбинированных блоков.
Число SelectableItems не равно числу SelectedItems.
У меня естьследующий стиль для ComboBoxItem:
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="IsEnabled" Value="{Binding IsSelectable}"/>
</Style>
Это прекрасно работает при запуске - но проблема в том, что я обновляю SelectedItems ObservableCollection, я не обновляю коллекцию SelectableItems ..
Есть ли что-нибудь (LINQ?), Которое я могу поместить в событие SelectedItem.PropertyChanged, чтобы обновить соответствующий элемент в коллекции SelectableItems - так что-то вроде:
public void SelectedItemObservableCollectionPropertyChanged(object sender, PropertyChangedEventArgs e)
{
OnPropertyChanged("SelectableItem.IsSelectable");
}
Если нет, какой лучший обходной путь?