Чтобы указать конкретное свойство в модели данных, вы можете указать путь к члену, задав DisplayMemberPath
:
<ComboBox ItemsSource="{Binding Teams}" DisplayMemberPath="Name" />
Когда вы не указали DataTemplate
и не указалиНе указывайте DisplayMemberPath
для элементов ItemsControl
, элемент управления по умолчанию отображает представление string
элемента. Это делается путем вызова Object.ToString()
для каждого элемента. Поэтому в качестве альтернативы вы всегда можете переопределить Object.ToString()
типа TeamParameters
(или модель изделия в целом):
public class TeamParameters
{
public override string ToString() => this.Name;
public string Name { get; set; }
public int Id { get; set; }
}
XAML
<ComboBox ItemsSource="{Binding Teams}" />
Илипросто укажите DataTemplate
:
<ComboBox ItemsSource="{Binding Teams}">
<ComboBox.ItemTemplate>
<DataTemplate DataType="TeamParameters">
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>