2010-08-24 4 views
0

J'ai un petit problème. Un SP me donne une liste de plusieurs URLs. Les URL sont liées sur un Combobox. Lorsque je sélectionne un élément, toujours l'objet vient à la Combobox et non la valeur sélectionnée, voir le code ci-dessous:Liaison de données avec un gabarit de données dans ComboBox Sélectionner un élément à l'aide de LINQ

<DataTemplate x:Key="Webadressen" DataType="{x:Type src2:GetWebadressenResult}" > 
<StackPanel> 
    <Label Content="{Binding Path=Adresse}" /> 
</StackPanel> 
</DataTemplate> 

<ComboBox Width="192" IsEditable="True" Margin="2" Name="Cbox_GDWeb" ItemTemplate="{StaticResource Webadressen}" SelectionChanged="Cbox_GDWeb_SelectionChanged"> 

private void Cbox_GDWeb_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
     GetWebadressenResult test = (GetWebadressenResult)this.Cbox_GDWeb.SelectedValue; 
     MessageBox.Show(test.Adresse.ToString()); 
     this.Cbox_GDWeb.Text = test.Adresse.ToString(); /* Not Working cause the this Event calls the same Method */ 
} 

Répondre

0

Changez votre ComboBox à ce

<ComboBox Width="192" IsEditable="True" Margin="2" Name="Cbox_GDWeb" DisplayMemberPath="Adresse" SelectedValuePath="Adresse" SelectedValue="{Binding Path=Adresse}">

alors vous n'aurez pas la Datatemplate et cela fonctionnera bien

vous aussi n'aurez pas besoin de l'événement SelectionChange pour changer votre selecteditem