2014-03-30 71 views
0

我在使用Windows Phone 8的數據透視控制時遇到了一些問題,我真的需要一個答案。我開始想知道我是否在這裏失去了一些東西。在Windows Phone 8中綁定Pivo

比方說,我有這樣的

<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。

總之我需要綁定一個集合,併爲此集合中的每個Item綁定另一個集合。

我不能用樣本數據得到這個工作。

回答

0

在ItemViewModel中創建一個ObservableCollection。

例如一個ObservableCollection of People。

型號:

public class Person 
{ 
    public string Name { get; set; } 
    public int Age { get; set; } 
} 

ItemViewModel.cs添加全民所有制:

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> 

結果:

Result

+0

感謝名單! 我會試試看:-) –