У меня есть несколько Comboboxes, которые используют один и тот же набор параметров. Как связать Combobox, чтобы при выборе опции в ANY из Comboboxes эта опция будет недоступна для остальных? Это включает в себя ранее выбранные Comboboxes. Если бы я должен был повторно выбрать параметр для ранее занятого Combobox, доступные параметры были бы не такими, как те, которые уже были выбраны в других combobox.Взаимные эксклюзивные комбинации в WPF
Вот более подробное объяснение:
Предполагаемые У меня 3 ComboBoxes: Combo1, Combo2, Combo3 и 4 элементы, доступные, ("А", "В", "С", "D") ,
- Я выбираю «A» на Combo1. Combo2 и Combo3 будут иметь «B», «C» и «D».
- Затем я выбираю «C» на Combo2. Combo3 тогда имел бы «B» и «D».
- Я нажимаю на Combo1, который в настоящее время выбран на «A». Доступны опции «A», «B» и «D».
Я попытался следующие:
private ObservableCollection<string> _ItemList;
public ObservableCollection<string> ItemList
{
get
{
return _ItemList;
}
set
{
_ItemList = value;
NotifyPropertyChanged("ItemList");
}
}
public void NotifyPropertyChanged(string name)
{
if (PropertyChanged != null)
{
PropertyChanged(this,new PropertyChangedEventArgs(name));
}
}
Затем связывание каждый ComboBox с ItemList
. Тем не менее, всякий раз, когда я удаляю параметры, выбранные в других списках со списками, эти поля со списком становятся пустыми. Является единственным вариантом для поддержания другого списка для каждого ComboBox, или есть более элегантное решение?
МОФ или WinForms – Paparazzi