【发布时间】:2012-02-15 21:57:09
【问题描述】:
编辑:
解决了问题 - 请参阅已接受的答案以获得良好的解释!
我的 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 提供的示例构建一个 Pivot 页面。
我有一个餐厅列表,我希望能够通过向左/向右滑动枢轴来过滤(例如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(包括“所有”美食)。
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
我无法在网上找到任何可能有帮助的东西,可能是因为我不确定出了什么问题。
任何建议或指点将不胜感激:)
【问题讨论】:
标签: windows-phone-7 data-binding pivot