У меня есть простая форма, которая сканирует мою сеть и находит компьютеры. Я динамически добавляю пользовательский элемент управления для каждого найденного компьютера. Внутри каждого пользовательского элемента управления находится раскрывающийся список, который мне нужно управлять. Вот скриншот UI: Удалить записи списков, которые выбрали другие списки
Каждый список может содержать 1 из 2 возможных списков. Для простоты, скажем, левые столбцы списка привязаны к источнику данных laptops.xml, в то время как списки справа столбца привязаны к server.xml.
Позволяет сказать laptops.xml содержит следующие данные:
- Dell Inspiron
- Asus
- Mac Air
и servers.xml содержат эти записи:
- Dell PowerEdge
- HP резервного копирования на ленту
- Dell Precision
- Linux
Так что мне нужно интерфейс, чтобы сделать это каждый раз, когда пользователь выбирает элемент из списка, этот элемент должен быть удален из другие списки, чтобы он не мог быть выбран дважды. Обратите внимание, что он должен изменять только другие списки, привязанные к одному списку ... другими словами, если я выбираю «Mac Air» из первого раскрывающегося списка, программа должна изменять только два других списка, а не список из списка привязан к server.xml.
Чтобы определить, какой список связан с файлом xml, я использую свойство .Tag
списка, когда пользовательский элемент управления динамически создается и добавляется в форму.
Я бы подумал, что могу использовать ObservableCollection для этого, но не уверен, как его реализовать и заставить его делать то, что мне нужно.
@ S.Akbari - I» m пытается управлять списками «выбрать», когда пользователь выбирает каждый из них. Поэтому, если пользователь выбирает «Dell» из первого списка слева. Остальные два списка должны удалить эту запись из своих списков, чтобы ее нельзя было выбрать снова. – Robert