Я создаю проект, используя шаблон MVVM.
В моем представлении я создаю комбо-боксы.
В ViewModel я создаю ObservableCollection для ItemsSource для комбинированных списков со строковыми значениями:
public ObservableCollection<string> ComboBoxItems
{
get; set;
}
В конструкторе ViewModel я создаю список моделей (foreach comboBox).
У моего класса Model есть только два свойства: SelectedComboBoxItem и IsEnabledComboBoxItem.
Я хочу иметь логику, например, если я выберу один элемент в одном комбинированном списке, он будет отключен в этом комбинированном окне и во всех остальных. Как я мог сделать это с Binding?
Теперь мой xaml-код выглядит следующим образом, но он отключил только выбранный элемент comboBox и только в одном comboBox, откуда он был вызван:
<ComboBox ItemsSource="{Binding ComboBoxItems}"
SelectedItem="{Binding SelectedComboBoxItem }" IsEditable="True">
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem">
<Setter Property="IsEnabled" Value="{Binding IsEnabledComboBoxItem}" />
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>