2009-07-27 10 views
1

J'ai un ComboBox avec des codes de pays et les numéros de téléphone (+43 .., ..) Le ItemsSource est une liste d'objets Pays avec de nombreuses propriétés (code est l'un d'entre eux.) Le DataContext dans lequel se trouve la zone de liste déroulante est un objet avec la propriété PhoneNumber.WPF source de mise à jour ComboBox

Lorsque l'utilisateur sélectionne un pays dans la liste, je souhaite mettre à jour la propriété PhoneNumber source (qui est une chaîne) avec la valeur '+43' de l'objet Pays. La liste apparaît, mais la source n'est jamais mise à jour. Comment faire ça? Quand je remplace avec cette zone de texte, tout fonctionne très bien:

<TextBox Text="{Binding Path=CountryCode, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" /> 

<ComboBox ItemsSource="{x:Static Member=data:Country.AllCountries}" SelectedValuePath="Country.Value.Code" SelectedValue="??" > 

Répondre

1

OK J'ai trouvé la solution par moi-même:

<ComboBox ItemsSource="{x:Static Member=data:Country.AllCountries}" SelectedValuePath="PhonePrefix" SelectedValue="{Binding Path=CountryCode, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" > 
+0

J'ai eu une autre question, mais il est apparu que vous me répondre aidé de toute façon , puisque dans mon cas le blocage ne spécifiait pas "UpdateSourceTrigger = PropertyChanged" ... – Shimmy