2016-05-09 7 views
4

私はListViewの単純なビューを持っています。ListViewには、プロパティがcomplete= 1のグループとcomplete= 0のグループの2つのグループがあります。uwpのリストビューグループ

これが私のクラスである:

public class myClass 
{ 
    public string name{ get; set; } 
    public bool complete{ get; set; } 
} 

は、これは私のXMLです:

<ListView x:Name="MasterListView"> 
    <ListView.GroupStyle> 
     <GroupStyle > 
      <GroupStyle.HeaderTemplate> 
      </GroupStyle.HeaderTemplate> 
     </GroupStyle> 
    </ListView.GroupStyle> 
</ListView> 

<DataTemplate x:Key="MasterListViewItemTemplate" x:DataType="model:myClass"> 
    <TextBlock Margin="0,5,5,5" Text="{x:Bind name}" FontSize="20" Style="{ThemeResource BaseTextBlockStyle}" /> 
</DataTemplate> 

私は、いくつかの例を試してみましたが、私は何かを見つけることができませんでした。

+1

http://www.interact-sw.co.uk/iangblog/2014/07/15/phone-listview-grouping – Archana

+0

@Archana ListViewがPivotItemの子である場合、これは機能しますか? –

+0

そうですね。それは動作するはずです – Archana

答えて

9

Iはリストビューとの単純なビューを持っている、私はListViewhas二つのグループ、1 =完全性の項目のグループを希望し、完全= 0

まずと別のグループ、使用CollectionViewSourceは、グループ化または並べ替えることができる項目の一覧を表示するコンテンツ用です。

<Page.Resources> 
    <CollectionViewSource x:Key="cvs" x:Name="cvs" IsSourceGrouped="True" /> 
</Page.Resources> 

次に、データ、グループデータを取得し、をコードビハインドにCollectionViewSourceにグループ化されたデータを設定します。出力

MainPage.xamlを

<Page.Resources> 
    <!--Use a collection view source for content that presents a list of items that can be grouped or sorted.--> 
    <CollectionViewSource x:Key="cvs" x:Name="cvs" IsSourceGrouped="True" /> 
</Page.Resources> 

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <ListView Background="White" Foreground="Black" SelectionMode="None" ItemsSource="{Binding Source={StaticResource cvs}}"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <StackPanel Margin="0.5"> 
        <TextBlock Text="{Binding Path=Name}" /> 
       </StackPanel> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
     <ListView.GroupStyle> 
      <GroupStyle> 
       <GroupStyle.HeaderTemplate> 
        <DataTemplate> 
        </DataTemplate> 
       </GroupStyle.HeaderTemplate> 
      </GroupStyle> 
     </ListView.GroupStyle> 
    </ListView> 
</Grid> 

MainPage.xaml.cs

public sealed partial class MainPage : Page 
{ 
    public MainPage() 
    { 
     this.InitializeComponent(); 
     //Get the data 
     List<MyClass> myClasses = new List<MyClass>(); 
     myClasses.Add(new MyClass { Name = "A", Complete = false }); 
     myClasses.Add(new MyClass { Name = "B", Complete = true }); 
     myClasses.Add(new MyClass { Name = "C", Complete = true }); 
     myClasses.Add(new MyClass { Name = "D", Complete = false }); 
     myClasses.Add(new MyClass { Name = "E", Complete = true }); 
     myClasses.Add(new MyClass { Name = "F", Complete = false }); 
     //Group the data 
     var groups = from c in myClasses 
        group c by c.Complete; 
     //Set the grouped data to CollectionViewSource 
     this.cvs.Source = groups; 
    } 
} 

以下の通りである:以下の

私が確認したサンプルコードです ​​

+0

ListViewがPivotItemの子ですか? –