2010-09-27 5 views
0

J'ai un ComboBox avec un ItemsSource que j'ai lié à un List (Of String).Comment lier le SelectedValue d'un ComboBox à une propriété?

Ce que je voudrais faire est de mettre à jour XAML une propriété String lorsque le SelectedValue de la ComboBox change. Je l'ai vu un tas d'exemples pour TextBoxes qui utilisent

Text="{Binding Path=MyString}" 

genre de choses, mais je ne pense pas vraiment que ce sera la voie à suivre si, à l'avenir, je dois changer le ItemsSource à une liste (Of ObscureObject) ...

+0

plus d'informations s'il vous plaît –

Répondre

2

La liaison à la propriété sélectionnée d'une zone de liste déroulante est assez simple.

XAML:

<ComboBox ItemsSource={Binding Path=MyCollection} SelectedItem={Binding Path=MyItem}/> 

CodeBehind:

public List<string> MyCollection {get; set;} 
public string MyItem {get; set;} 

Si vous souhaitez insérer du texte dans l'élément sélectionné, vous devez utiliser INotifyPropertyChanged

que pour votre problème d'évolutivité, C'est un changement assez mineur pour mettre à jour le type d'une propriété pour refléter une collection. Sinon, vous pourriez essayer de vous lier à un Object, bien que cela signifierait que vous devrez constamment replacer l'objet dans l'état que vous voulez.