web-dev-qa-db-fra.com

WPF DataBinding ComboBox à une liste <String>

Je passe du temps difficile à essayer de lier ma propriété qui est de la liste de types à mon comboBox via XAML.

public List<string> MyProperty  { get; set; }

La liaison XAML suivante ne fonctionne pas:

<ComboBox Name="cboDomainNames" ItemsSource="{Binding Path=MyProperty}"/> 

Mais l'affectation suivante:

cboDomainNames.ItemsSource = MyProperty;

fonctionne parfaitement. Qu'est-ce qui me manque ici?

14
ioWint

Publier mon commentaire à la marque la réponse.

Mon DataContext a été défini, mais il a été fixé après l'initializecomomonent (). Je pensais que cela pourrait être le problème. Ensuite, j'ai réalisé que, comme je suis lié à XAML, lorsque la vue se charge, la liaison arrive à la propriété vide.

La propriété est renseignée lorsque la vue est prête après sa charge (i.e sur _presenter.onvieweadyReady ()). Puisque ce n'est pas une collection observable, rien n'est ajouté à la combinaison. Spécifiez-le de mon code derrière des œuvres, car à ce moment-là, les données existent dans la propriété.

8
ioWint