我在WPF中有这样一个组合框:
combobox.ItemsSource = await clientelocal.ObtenerVariablesAsync();
combobox.DisplayMemberPath = "Nombre";
在DisplayMemberPath
我希望有两个字段,例如:
combobox.ItemsSource = await clientelocal.ObtenerVariablesAsync();
combobox.DisplayMemberPath = "ID + Nombre";
但不是怎么做,有什么想法吗?
答案 0 :(得分:0)
设置集合就像您一样,但不要设置DisplayMemberPath。这是一个例子:
MyComboBox.ItemsSource = await clientelocal.ObtenerVariablesAsync();
然后在XAML中执行此操作:
<ComboBox Name="MyComboBox">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Id}"/>
<TextBlock Text="{Binding Nombre}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
关键是项目模板,你可以在那里做任何你喜欢的事情来改变项目的外观,给它们颜色,通过边距改变填充等......
答案 1 :(得分:0)
您需要定义自定义DisplayMemberPath
以显示多个属性,而不是设置ItemTemplate
:
<ComboBox>
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" >
<TextBlock Text="{Binding ID}" Margin="0,0,10,0"/>
<TextBlock Text="{Binding Nombre}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>