2012-02-07 21 views
0

我想在列表框中使用复选框(在运行时创建)的集合。我写的XAML是列表框中绑定数据wp7错误

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

但是当我运行我的应用程序,我没有看到任何复选框。请指出错误并帮我纠正它。提前致谢!

回答

-1

您需要在列表框中设置项目源。

<ListBox ItemsSource="{Binding}" Name="cuisineList"> 
+0

获取一系列运行时错误 - ''UI Task'(Managed):Loaded'System.Run time.Serialization.dll' System.Windows.dll中发生类型'System.NullReferenceException'的第一次机会异常 System.Windows.dll中发生类型'System.NullReferenceException'的第一次机会异常 第一次机会例外在System.Windows.dll中发生类型'System.NullReferenceException' 在System.Windows.dll中发生类型'System.NullReferenceException'的第一次机会异常 在System.Windows中发生了类型'System.NullReferenceException'的第一次机会异常。 dll' – 2012-02-07 05:28:53

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 =新PageViewModel();

写这个声明Page.xaml.cs文件的构造函数)

还要验证美食有公共属性内容

+0

我不能拥有CheckBox动态的'NAME'属性吗? – 2012-02-07 06:17:15

+0

不,你不能使用,它会给出一个“空引用异常”作为无效指针。而创作。 – Santhu 2012-02-07 06:57:44