首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用ItemsSource之前,WP7上的全景绑定项集合必须为空

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

Stack Overflow用户
提问于 2011-07-25 21:40:24
回答 1查看 3.1K关注 0票数 1

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

代码语言:javascript
复制
<controls:Panorama x:Name="panorama">
 <controls:PanoramaItem >
  <StackPanel>
   <TextBlock Text="{Binding Text}"/>
  </StackPanel>
 </controls:PanoramaItem>
</controls:Panorama>

在我的代码后台(xaml.cs)中,我这样做:

代码语言:javascript
复制
protected override void OnNavigatedTo(NavigationEventArgs e) {
 string id = NavigationContext.QueryString["id"];
 ObservableCollection<MyObject> list = DataAccessService.get(id);
 panorama.ItemsSource = list;
 base.OnNavigatedTo(e);
}

请注意,MyObject有一个文本属性。任何帮助都是非常感谢的。

根据下面的链接对其进行修改后,仍然抛出相同的异常。

代码语言:javascript
复制
<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>

最后,在下面用户的帮助下继续下一步之后,这就是摆脱了异常的解决方案。

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-25 21:48:17

您的问题是在XAML中构建全景图,就好像它是静态的,而不是准备好绑定数据。

看看这个关于数据绑定全景控件的快速教程:

Data Binding Panorama Control WP7 MVVM

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6817000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档