[英]Binding the Pivo in Windows Phone 8
我在Windows Phone 8的數據透視控件中遇到一些問題,我真的需要一個答案。 我開始懷疑我是否在這里錯過了什么。
假設我有這樣的結構
<vm:MainViewModel
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
**strong text**xmlns:vm="clr-namespace:PivotApp3.ViewModels"
Name = "I' just a placeholder collection of ItemViewModels"
>
<vm:MainViewModel.Items>
<vm:ItemViewModel Name="Some Item">
<vm:ItemViewModel.Details>
<vm:DetailViewModel Name="Some Detail"/>
</vm:ItemViewModel.Details>
</vm:ItemViewModel>
</vm:MainViewModel>
是否可以將樞軸itemSource綁定到,並可以將LongListSelector綁定。
簡而言之,我需要綁定一個集合,並為此集合中的每個項目綁定另一個集合。
我無法使用示例數據。
在ItemViewModel中創建一個ObservableCollection。
例如,一個人的ObservableCollection。
模型:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
在ItemViewModel.cs
添加People屬性:
public ObservableCollection<Person> People{ get; set; }
在MainViewModelSampleData.xaml
:
<vm:MainViewModel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:PivotApp3.ViewModels"
Name="I' just a placeholder collection of ItemViewModels">
<vm:MainViewModel.Items>
<vm:ItemViewModel Name="People 1">
<vm:ItemViewModel.People>
<vm:Person Name="Test 1"
Age="1" />
<vm:Person Name="Test 2"
Age="2" />
</vm:ItemViewModel.People>
</vm:ItemViewModel>
<vm:ItemViewModel Name="People 2">
<vm:ItemViewModel.People>
<vm:Person Name="Test 3"
Age="3" />
<vm:Person Name="Test 4"
Age="4" />
</vm:ItemViewModel.People>
</vm:ItemViewModel>
</vm:MainViewModel.Items>
在MainPage.xaml中添加LongListSelector:
<phone:LongListSelector x:Name="MainLongListSelector"
Margin="0,0,-12,0"
ItemsSource="{Binding Items}"
SelectionChanged="MainLongListSelector_SelectionChanged">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17"
Orientation="Vertical">
<TextBlock Text="{Binding Name}"
TextWrapping="Wrap"
Style="{StaticResource PhoneTextExtraLargeStyle}" />
<ItemsControl Margin="12,0,0,0" ItemsSource="{Binding People}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Name}" />
<TextBlock Text="{Binding Age}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
結果:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.