كيفية القيام بما يلي: فرز وتجميع بيانات باستخدام طريقة عرض في XAML

يوضح هذا المثال كيفية إنشاء طريقة عرض لمجموعة البيانات في Extensible Application Markup Language (XAML). تسمح طرق العرض وظائف الجمع، الفرز ، التصفية و مفهوم العنصر الحالي.

مثال

في المثال التالي، يتم تعريف مورد ثابت يسمى مواضع كمجموعة من كائنات موضع، حيث كل كائن موضع يتكون من اسم المدينة و الولاية. البادئة src يتم تعيينها إلى مساحة الاسم حيث يتم تعريف مصدر البيانات المواضع . يتم تعيين بادئة scm و dat إلى مساحات أسماء System.ComponentModel و System.Windows.Data على التوالي.

ينشئ المثال التالي طريقة عرض تجميع البيانات التي تم فرزها حسب اسم المدينة و مجمّعة حسب الولاية.

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

ثم يمكن أن تكون طريقة العرض مصدر ربط كما في المثال التالي:

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

للربط إلى بيانات XML التي تم تعريفها في مورد XmlDataProvider, اسبق اسم XML برمز @.

<XmlDataProvider x:Key="myTasks" XPath="Tasks/Task">
    <x:XData>
        <Tasks >
            <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>

راجع أيضًا:

المهام

كيفية القيام بما يلي: الحصول على طريقة العرض الافتراضية لتجميع البيانات

المرجع

CollectionViewSource

المبادئ

نظرة عامة لربط البيانات

موارد أخرى

المواضيع الإجرائية لربط البيانات