2014-03-31 170 views
0

綁定我在WPF組合框是這樣的:WPF與組合框

combobox.ItemsSource = await clientelocal.ObtenerVariablesAsync(); 
combobox.DisplayMemberPath = "Nombre"; 

DisplayMemberPath我想有兩個字段,是這樣的:

combobox.ItemsSource = await clientelocal.ObtenerVariablesAsync(); 
combobox.DisplayMemberPath = "ID + Nombre"; 

但不知道如何做到這一點,任何想法?

回答

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> 

的關鍵是項目模板,你可以做任何你喜歡在那裏改變項目的外觀,給他們顏色,改變通過利潤填補等等......

+0

感謝的人,它的工作原理 – user3042410

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>