مشاركة عبر


كيفية القيام بما يلي: الربط بنتائج استعلام LINQ

يوضح هذا المثال كيفية تشغيل الاستعلام LINQ ثم ربط النتائج.

مثال

يقوم المثال التالي بإنشاء مربعي القائمة. مربع القائمة الأول يحتوى على ثلاثة عناصر.

<ListBox SelectionChanged="ListBox_SelectionChanged"
         SelectedIndex="0" Margin="10,0,10,0" >
    <ListBoxItem>1</ListBoxItem>
    <ListBoxItem>2</ListBoxItem>
    <ListBoxItem>3</ListBoxItem>
</ListBox>
<ListBox Width="400" Margin="10" Name="myListBox"
         HorizontalContentAlignment="Stretch"
         ItemsSource="{Binding}"
         ItemTemplate="{StaticResource myTaskTemplate}"/>

اختيار عنصر من مربع القائمة الأول يستدعى معالج الحدث التالي. في هذا المثال، Tasks هو مجموعة من كائنات Task. الفئة Task تحتوي الخاصية المسماة Priority. تشغيل معالج الحدث هذا يجرى استعلام LINQ يقوم بإرجاع مجموعة من الكائنات Task التي لديها قيمة الأفضلية المحددة ثم تعيينها كما فى DataContext:

Imports System.Linq


...


        Private tasks As New Tasks()


...


        Private Sub ListBox_SelectionChanged(ByVal sender As Object, ByVal e As SelectionChangedEventArgs)
            Dim pri As Integer = Int32.Parse((TryCast((TryCast(sender, ListBox)).SelectedItem, ListBoxItem)).Content.ToString())

            Me.DataContext = From task In tasks
                             Where task.Priority = pri
                             Select task
        End Sub
using System.Linq;


...


Tasks tasks = new Tasks();


...


private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    int pri = Int32.Parse(((sender as ListBox).SelectedItem as ListBoxItem).Content.ToString());

    this.DataContext = from task in tasks
                       where task.Priority == pri
                       select task;
}

يرتبط مربع القائمة الثاني بهذه المجموعة هذه لأن قيمة ItemsSource الخاصة به تم تعيينها الى {Binding}. نتيجة لذلك، فإنه يعرض المجموعة التي تم إرجاعها (استناداً إلى myTaskTemplate DataTemplate).

راجع أيضًا:

المهام

كيفية القيام بما يلي: توفير البيانات لربط في XAML

كيفية القيام بما يلي: ربط مجموعة و عرض معلومات اعتماداً على الاختيار

المبادئ

الجديد في الإصدار 4 من WPF

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

موارد أخرى

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