У меня есть приложение mvvm с почти таким же сценарием. Главное окно имеет вкладку управления. Есть вкладка, содержащая выпадающий список. Источник элементов комбинированного списка привязан к IList (в модели представления), а значение Selected привязано к свойству в модели представления, реализующей INotifyPropertyChanged.
<ComboBox ItemsSource="{Binding AllowedJudges}"
SelectedValue="{Binding SelectedJudge, UpdateSourceTrigger=PropertyChanged}" >
При выборе другой вкладки свойство модели представления, привязанное к SelectedValue, таинственным образом устанавливается равным нулю. Я могу справиться с этим, не позволяя свойству SelectedValue-bound установить значение null:
public Judge SelectedJudge
{
get { return selectedJudge; }
set
{
if(selectedJudge==value || value==null) return;
selectedJudge = value;
OnPropertyChanged("SelectedJudge");
updateViewData();
}
}
Однако мне не ясно, почему панель вкладок, становящаяся невидимой, подразумевает, что значение в выпадающем списке там отменяется ....