Я связываю два разных списка с одним списком в зависимости от условия.
Мой 1-й список содержит 1,2,3,4,5,6, а мой 2-й список содержит 2,5,6, и я добавлял эти списки в комбинированный список с помощью Itemsource из кода на основе условия.
У меня есть сетка со строками (данные, связанные с AllUsers и SomeUsers), когда я щелкаю строку данных AllUsers, затем в выборе строк сетки меняюсь, я связываю 1-й список со списком из кода позади. когда я щелкаю строку данных SomeUsers, затем в строке выбора сетки меняются, я добавляю второй список в выпадающий список из кода позади.
Здесь я использовал наблюдаемый сбор данных для сетки и комбинированный список (это подсписок наблюдаемого сбора).
Все данные, выбранные в выпадающем списке, будут автоматически обновлены в моей сеточной модели (я использовал двустороннее связывание в выпадающем списке).
Проблема: - когда происходит изменение выбора, я добавлял соответствующий список в комбинированный список через источник Item из кода позади, в то время ранее выбранное значение становится нулевым в свойстве модели (особенно 1-й элемент списка, когда свойство содержит 1, 3 или 4 значения), поскольку они не существуют во втором списке комбинированного списка.
Примечание: - Combobox находится вне сетки.
Архитектура: - НЕ MVVM
<ComboBox Name="cbNum" Margin="3" Background="White" SelectedValue="{Binding UserGroup, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Height="28" FontSize="13" Grid.Column="1" DisplayMemberPath="Meaning" SelectedValuePath="LookupCode" VerticalContentAlignment="Center" BorderBrush="#b3b3b3"></ComboBox>
if (strCondition == "1stList")
cbNum.ItemsSource = lstFirtstList;
if (strCondition == "2ndList")
cbNum.ItemsSource = lstsecondList;