Data binding WP7上的全景绑定,在使用ItemsSource之前,Items集合必须为空
我经常遇到这样的错误:当我尝试将数据绑定到全景控件时,在使用ItemsSource之前,Items集合必须为空。下面是我的xaml代码片段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
<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?