Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Data binding WP7上的全景绑定,在使用ItemsSource之前,Items集合必须为空_Data Binding_Windows Phone 7_Panorama Control - Fatal编程技术网

Data binding WP7上的全景绑定,在使用ItemsSource之前,Items集合必须为空

Data binding WP7上的全景绑定,在使用ItemsSource之前,Items集合必须为空,data-binding,windows-phone-7,panorama-control,Data Binding,Windows Phone 7,Panorama Control,我经常遇到这样的错误:当我尝试将数据绑定到全景控件时,在使用ItemsSource之前,Items集合必须为空。下面是我的xaml代码片段 <controls:Panorama x:Name="panorama"> <controls:PanoramaItem > <StackPanel> <TextBlock Text="{Binding Text}"/> </StackPanel> </controls:Pa

我经常遇到这样的错误:当我尝试将数据绑定到全景控件时,在使用ItemsSource之前,Items集合必须为空。下面是我的xaml代码片段

<controls:Panorama x:Name="panorama">
 <controls:PanoramaItem >
  <StackPanel>
   <TextBlock Text="{Binding Text}"/>
  </StackPanel>
 </controls:PanoramaItem>
</controls:Panorama>

在我的代码隐藏(xaml.cs)中,我执行以下操作:

protected override void OnNavigatedTo(NavigationEventArgs e) {
 string id = NavigationContext.QueryString["id"];
 ObservableCollection<MyObject> list = DataAccessService.get(id);
 panorama.ItemsSource = list;
 base.OnNavigatedTo(e);
}
受保护的覆盖无效OnNavigatedTo(NavigationEventArgs e){
字符串id=NavigationContext.QueryString[“id”];
ObservableCollection list=DataAccessService.get(id);
panorama.ItemsSource=列表;
基地。导航到(e);
}
请注意,MyObject具有文本属性。感谢您的帮助

在按照下面的链接修改后,仍然会引发相同的异常

<controls:Panorama x:Name="panorama">
 <controls:Panorama.HeaderTemplate>
  <DataTemplate>
   <TextBlock Text="{Binding Header}"/>
  </DataTemplate>
 </controls:Panorama.HeaderTemplate>
 <controls:PanoramaItem >
  <DataTemplate>
   <StackPanel>
    <TextBlock Text="{Binding Text}"/>
   </StackPanel>
  </DataTemplate>
 </controls:PanoramaItem>
</controls:Panorama>

最后,在下面的用户帮助下继续操作之后,这是消除异常的解决方案

<controls:Panorama x:Name="panorama">
 <controls:Panorama.HeaderTemplate>
  <DataTemplate>
   <TextBlock Text="{Binding Header}"/>
  </DataTemplate>
 </controls:Panorama.HeaderTemplate>
 <controls:Panorama.ItemTemplate>
  <DataTemplate>
   <StackPanel>
    <TextBlock Text="{Binding Text}"/>
   </StackPanel>
  </DataTemplate>
 </controls:Panorama.ItemTemplate>
</controls:Panorama>

您的问题是,您正在用XAML构建全景图,好像它是静态的,而不是准备将其绑定到数据

请查看此数据绑定全景控件的快速教程:


请注意,为控件构造XAML的方式有所不同。您需要设置HeaderTemplate和ItemTemplate,而不是在Panorama控件上设置Items集合,以便控件知道在数据绑定到它之后如何渲染内容。

我尝试根据您引用的链接修改代码,但仍然无法工作。引发了相同的异常。@user373312-您是否从XAML中删除了PanoramaItem?