Примечание. Код, не допускающий копирования, существует ... существует исключительно для разъяснения сути вопроса.
View
Я вижу некоторые элементы управления с привязкой данных, как показано ниже в окне / представлении ...
<Combobox ItemsSource="{Binding Path=AlphabeticalIds}" Text="{Binding Path=SelectedId}"/>
<TextBox Text="{Binding Path=SelectedPerson.FirstName}"/>
<TextBox Text="{Binding Path=SelectedPerson.LastName}"/>
<TextBox Text="{Binding Path=SelectedPerson.City}"/>
ViewModel
Экземпляр этого класса устанавливается как текстовый текст представления. Он имеет следующие члены. (Они отображаются как .NET Properties; вызовы NotifyPropertyChange идентифицируют свойства, которые требуют уведомления об изменениях)
_mapIdToPerson = Dict...
_alphabeticalIds = _map...Keys.Sort();
_selectedId;
set
{
_selectedId = value;
_selectedPerson = _mapIdToPerson[_selectedId];
NotifyPropertyChange("SelectedId");
NotifyPropertyChange("SelectedPerson");
}
_selectedPerson;