Я не уверен, возможно ли это или нет. Я создал ComboBox, как это ...
<ComboBox Name="testType"
Margin="0,5,0,0"
IsTextSearchEnabled="True"
DisplayMemberPath="Description"
SelectedValue="{Binding MyClass.Id, Mode=TwoWay}"
SelectedValuePath="Id"/>
с кодом, который загружает доступные опции ...
DataTable testCatList = TestTypeBase.GetAll();
testType.ItemsSource = testCatList.DefaultView;
, чтобы он правильно отображал все элементы в MyClass. Когда пользователь делает выбор, поле Id в MyClass обновляется по назначению. Отлично.
Вот моя проблема: мой testCatList содержит Id и Description для каждой строки, и я хотел бы, чтобы оба эти поля были связаны с текущим экземпляром MyClass. Итак, вот что я попробовал:
<ComboBox Name="testType"
Margin="0,5,0,0"
IsTextSearchEnabled="True"
DisplayMemberPath="Description">
<ComboBox.SelectedValue>
<MultiBinding Converter="{???}">
<Binding Path="MyClass.Id" Mode="TwoWay"/>
<Binding Path="MyClass.Description" Mode="TwoWay"/>
</MultiBinding>
</ComboBox.SelectedValue>
</ComboBox>
Здесь я хотел бы, чтобы MyClass.Id был установлен на выбранный Id, а MyClass.Description - на выбранное описание. Как вы можете видеть, я удалил SelectedValuePath, потому что мне больше не нужен идентификатор. Но я не знаю, что использовать для конвертера (см. Вопросительные знаки выше).
Есть идеи, о, эксперты из StackOverflow? Спасибо.