2010-01-14 8 views
0

J'ai un simple ComboBox dans mon application Silverlight 3. Je veux le peupler à partir d'une ObservableCollection. La liste contient une classe qui a une propriété Name (chaîne) et une propriété Selected (bool). La liste déroulante a autant d'éléments que j'ai dans la liste, mais je n'arrive pas à obtenir les données de la liste à apparaître.Silverlight 3 ComboBox ItemTemplate binding

Toute aide serait appréciée.

<ComboBox x:Name="cmbCategory" Grid.Column="3"> 
<ComboBox.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Orientation="Horizontal"> 
      <TextBlock Text="{Binding Name}"/> 
      <CheckBox IsChecked="{Binding Selected}"/> 
     </StackPanel> 
    </DataTemplate> 
</ComboBox.ItemTemplate> 

... 
private class cmbCategoryClass 
    { 
     public string Name { get; set; } 
     public bool Selected { get; set; } 
    } 
    private ObservableCollection<cmbCategoryClass> _categories; 
.... 
cmbCategory.DataContext = _categories; 
cmbCategory.ItemsSource = _categories; 

Répondre

0

Je ne peux pas dire de votre code si cela est un Codebehind ou un ViewModel. Je devine que vous remplissez la liste _categories dans le code afin qu'il contienne au moins un objet cmbCategoryClass. Essayez de supprimer la ligne qui définit le DataContext à _categories car votre ItemsSource peut rechercher une propriété _categories dans DataContext. Vérifiez la fenêtre Sortie dans Visual Studio lors de l'exécution en mode débogage pour trouver des indices d'échecs de liaison de données.

Questions connexes