我的Silverlight 3应用程序中有一个简单的ComboBox。我想从ObservableCollection中填充它。该列表包含一个具有Name(字符串)和Selected(bool)属性的类。组合框中包含的项目与列表中的项目一样多,但我似乎无法显示列表数据。
任何帮助都将不胜感激。
<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 :(得分:0)
我无法从您的代码中判断出这是Codebehind还是ViewModel。我猜你实际上是在代码中填充_categories列表,以便它至少包含一个cmbCategoryClass对象。尝试删除将DataContext设置为_categories的行,因为您的ItemsSource可能正在DataContext上查找_categories属性在调试模式下运行时检查Visual Studio中的“输出”窗口是否存在数据绑定失败的线索。