2010-01-14 83 views
0

我在我的Silverlight 3应用程序中有一个简单的ComboBox。我想从ObservableCollection填充它。该列表包含具有Name(字符串)和Selected(布尔)属性的类。组合框包含的项目与列表中的项目数量一样多,但我似乎无法获取列表数据。Silverlight 3组合框ItemTemplate绑定

任何帮助,将不胜感激。

<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; 

回答

0

我无法从你的代码告诉我们,如果这是一个代码隐藏或视图模型。我猜你实际上正在填充代码中的_categories列表,以便它至少包含一个cmbCategoryClass对象。尝试删除将DataContext设置为_categories的行,因为您的ItemsSource可能正在DataContext上查找_categories属性在调试模式下运行时,请检查Visual Studio中的Output窗口,以找出数据绑定失败的线索。