摸索出了问题 - 见接受的答案了很好的解释!
我的XAML现在看起来是这样的:
<controls:Pivot x:Name="MainPivot" Title="FYP APP" ItemsSource="{Binding Cuisines}">
<controls:Pivot.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Cuisine}"/>
</DataTemplate>
</controls:Pivot.HeaderTemplate>
<controls:Pivot.ItemTemplate>
<DataTemplate>
<ListBox Margin="0,0,-12,0" ItemsSource="{Binding Outlets}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" Width="432" Height="78">
<TextBlock Text="{Binding Name}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
<TextBlock Text="{Binding Cuisine}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DataTemplate>
</controls:Pivot.ItemTemplate>
</controls:Pivot>
原文:
我建设使用示例一个枢轴页面提供VS.
我有一个餐馆列表,我希望能够通过左右滑动(例如http://img831.imageshack.us/img831/514/pivotm.jpg)来进行过滤。
我把所有的餐馆在App.xaml.cs
列表(public static ObservableCollection<OutletViewModel> LocalOutlets
它从构造的MainPage填写),然后将此处理以创建这种结构:
OutletListPage2.xaml.cs
(我工作的页面)设置DataContext
更改为新的OutletsByCuisineViewModel()
。
OutletsByCuisineViewModel
有一个public ObservableCollection<CuisineViewModel> Cuisines
,其中包含一个CuisineViewModel
每个美食(包括一个“全部”)。
A CuisineViewModel
具有public string Cuisine
和public ObservableCollection<OutletViewModel> Outlets
。
OutletViewModel
包含一个public string Name
和一个public string Cuisine
- 每个触发PropertyChanged
事件。
我想用设计样本数据是:(也,我不能在这个文件中多次指定同一插座 - VS名称XYZ表示已经在当前的名字范围存在)
<local:OutletsByCuisineViewModel
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:FYP.ViewModels">
<local:OutletsByCuisineViewModel.Cuisines>
<local:CuisineViewModel Cuisine="all">
<local:CuisineViewModel.Outlets>
<local:OutletViewModel Name="Test1" Cuisine="fast food" />
<local:OutletViewModel Name="Test2" Cuisine="indian" />
<local:OutletViewModel Name="Test3" Cuisine="pizza" />
</local:CuisineViewModel.Outlets>
</local:CuisineViewModel>
<local:CuisineViewModel Cuisine="fast food">
<local:CuisineViewModel.Outlets>
<local:OutletViewModel Name="Test1a" Cuisine="fast food" />
</local:CuisineViewModel.Outlets>
</local:CuisineViewModel>
<local:CuisineViewModel Cuisine="indian">
<local:CuisineViewModel.Outlets>
<local:OutletViewModel Name="Test2a" Cuisine="indian" />
</local:CuisineViewModel.Outlets>
</local:CuisineViewModel>
<local:CuisineViewModel Cuisine="pizza">
<local:CuisineViewModel.Outlets>
<local:OutletViewModel Name="Test3a" Cuisine="pizza" />
</local:CuisineViewModel.Outlets>
</local:CuisineViewModel>
</local:OutletsByCuisineViewModel.Cuisines>
</local:OutletsByCuisineViewModel>
我在XAML设计如下 - http://img844.imageshack.us/img844/8464/pivot2.jpg
我一直没能找到任何在线可能的帮助,可能是因为我不知道什么是错的。
任何建议或指针将不胜感激:)
我今天又看了一遍,并解决了这个问题,但这是我做的,所以接受这个答案:) – Josh 2012-02-16 14:04:07