Bagikan melalui


Cara: Mengurutkan dan Mengelompokkan Data Menggunakan Tampilan di XAML

Contoh ini menunjukkan cara membuat tampilan pengumpulan data dalam Extensible Application Markup Language (XAML). Tampilan memungkinkan fungsionalitas pengelompokan, pengurutan, pemfilteran, dan gagasan item saat ini.

Contoh

Dalam contoh berikut, sumber daya statis bernama places didefinisikan sebagai kumpulan objek Place, di mana setiap objek Place terdiri dari nama kota dan status. Awalan src dipetakan ke namespace tempat Tempat sumber data ditentukan. Awalan scm memetakan ke "clr-namespace:System.ComponentModel;assembly=WindowsBase" dan memetakan dat ke ."clr-namespace:System.Windows.Data;assembly=PresentationFramework"

Contoh berikut membuat tampilan kumpulan data yang diurutkan menurut nama kota dan dikelompokkan menurut status.

<Window.Resources>

  <src:Places x:Key="places"/>

  <CollectionViewSource Source="{StaticResource places}" x:Key="cvs">
    <CollectionViewSource.SortDescriptions>
      <scm:SortDescription PropertyName="CityName"/>
    </CollectionViewSource.SortDescriptions>
    <CollectionViewSource.GroupDescriptions>
      <dat:PropertyGroupDescription PropertyName="State"/>
    </CollectionViewSource.GroupDescriptions>
  </CollectionViewSource>

Tampilan kemudian dapat menjadi sumber pengikatan, seperti dalam contoh berikut:

<ListBox ItemsSource="{Binding Source={StaticResource cvs}}"
         DisplayMemberPath="CityName" Name="lb">
  <ListBox.GroupStyle>
    <x:Static Member="GroupStyle.Default"/>
  </ListBox.GroupStyle>
</ListBox>

Untuk pengikatan ke data XML yang XmlDataProvider ditentukan dalam sumber daya, awali nama XML dengan simbol @.

<XmlDataProvider x:Key="myTasks" XPath="Tasks/Task">
    <x:XData>
        <Tasks xmlns="">
            <Task Name="Groceries" Priority="2" Type="Home">
<CollectionViewSource x:Key="mySortedTasks"
                      Source="{StaticResource myTasks}">
    <CollectionViewSource.SortDescriptions>
        <scm:SortDescription PropertyName="@Priority" />
    </CollectionViewSource.SortDescriptions>
    <CollectionViewSource.GroupDescriptions>
        <dat:PropertyGroupDescription PropertyName="@Priority" />
    </CollectionViewSource.GroupDescriptions>
</CollectionViewSource>

Baca juga