我试图在ListBox中使用一组复选框(在运行时创建)。我写的XAML是
<ListBox DataContext="{Binding}" Name="cuisineList">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="45" Name="grid1" Margin="0,0,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="230*" />
<ColumnDefinition Width="230*" />
</Grid.ColumnDefinitions>
<CheckBox Content="{Binding content}" Name="{Binding name}" Grid.Column="0"/>
<CheckBox Content="{Binding content}" Name="{Binding name}" Grid.Column="1"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
,代码是
public ObservableCollection<Cuisine> Items = new ObservableCollection<Cuisine>();
public Search()
{
InitializeComponent();
for (int i = 0; i < 100; i++)
{
Items.Add(new Cuisine());
}
cuisineList.DataContext = Items;
}
但是当我运行我的应用时,我没有看到任何复选框。请指出错误并帮助我纠正它。提前谢谢!
答案 0 :(得分:1)
您需要设置列表框的itemsource,如下所示
<ListBox ItemsSource="{Binding Items}" Name="cuisineList">
<Grid Height="45" Name="grid1" Margin="0,0,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="230*" />
<ColumnDefinition Width="230*" />
</Grid.ColumnDefinitions>
<CheckBox Content="{Binding content}" Name="Check1" Grid.Column="0"/>
<CheckBox Content="{Binding content}" Name="Check2" Grid.Column="1"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
在* .xaml.cs文件中编写项目也有任何限制吗?
如果没有在视图模型中写入PageViewModel.cs文件
然后将Viewmodel类对象设置为page.xaml数据上下文。 (
this.DataContext = new PageViewModel();
在Page.xaml.cs文件的构造函数中写下此语句)
同时验证菜肴是否具有公共财产内容
答案 1 :(得分:-1)
您需要在列表框中设置项目来源。
<ListBox ItemsSource="{Binding}" Name="cuisineList">