Я хочу, чтобы мой пользователь мог выбирать клиента (пользовательский объект) из ComboBox в WPF. ComboBox покажет всем клиентам их FirstName (строка) и LastName (строка).
Таким образом, в основном моя ViewModel предоставляет одного Клиента, который будет выбран пользователем, и список всех Клиентов, которые будут использоваться для заполнения ComboBox. Объявление ComboBox выглядит так:
<ComboBox Grid.Row="3" Grid.Column="1" Text="{Binding Client}" ItemsSource="{Binding Clients}" IsEditable="True">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} {1}">
<Binding Path="FirstName"/>
<Binding Path="LastName"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Конечно, это не работает, потому что свойство Text отображает необработанного клиента (с указанием имени типа), и если пользователь вводит имя, оно не может быть преобразовано в Client. Похоже, что это очень простая вещь, но пока я ищу в Интернете, я нахожу десятки разных решений: создать тип обертки с правильно отформатированным именем, использовать преобразователь значений, использовать шаблоны данных ... Я не знаком со всеми эти методы WPF, поэтому, пожалуйста, помогите мне найти лучшее (и, надеюсь, простое!) решение.
Спасибо!