كيفية القيام بما يلي: تحديد مصدر الربط

في ربط البيانات، يشير كائن مصدر الربط إلى كائن الذي تحصل منه على البيانات. يصف هذا الموضوع طرق مختلفة من تحديد مصدر الربط .

مثال

إذا كنت تقوم بربط العديد من الخصائص إلى مصدر مشترك يجب ان تستخدم الخاصية DataContext التي توفر طريقة ملائمة لإنشاء نطاق داخل كافة خصائص ربط البيانات التى ترث من مصدر مشترك.

في المثال التالي يتم انشاء سياق البيانات على عنصر الجذر الخاص بالتطبيق. يسمح هذا لكافة العناصر التابعة بأن ترث سياق البيانات. بيانات الربط التى تأتي من فئة بيانات مخصصة NetIncome والمشار إليها مباشرة من خلال تعيين و إعطاء مفتاح المورد من incomeDataSource.

<Grid
  xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="SDKSample.DirectionalBinding"
  xmlns:c="clr-namespace:SDKSample"
  Name="Page1"
>
  <Grid.Resources>
    <c:NetIncome x:Key="incomeDataSource"/>
    <Style TargetType="{x:Type TextBlock}">
      <Setter Property="Padding" Value="8"/>
    </Style>
    <Style TargetType="{x:Type TextBox}">
      <Setter Property="Margin" Value="0,6,0,0"/>
    </Style>
  </Grid.Resources>
  <Grid.DataContext>
    <Binding Source="{StaticResource incomeDataSource}"/>
  </Grid.DataContext>


...


</Grid>
ملاحظةملاحظة

المثال أعلاه يقوم بانشاء الكائن في العلامات ثم يستخدمه كمورد.إذا كنت ترغب في ربط كائن قد تم إنشائه بالفعل في التعليمات البرمجية تحتاج إلى تعيين الخاصية DataContext برمجياً.على سبيل المثال ، راجع كيفية القيام بما يلي: توفير البيانات لربط في XAML.

بدلاً من ذلك، إذا كنت تريد تحديد المصدر على روابط فردية بشكل صريح ، لديك الخيارات التالية. تأخذ هذه الأسبقية عن سياق البيانات الموروثة.

الخصائص

الوصف

Source

تقوم باستخدام هذه الخاصية لتعيين المصدر إلى مثيل الكائن. إذا لم تكن بحاجة وظيفة تأسيس نطاق الذي فيه ترث العديد من الخصائص نفس سياق البيانات يمكنك استخدام الخاصية Source بدلاً من الخاصية DataContext. لمزيد من المعلومات، راجع Source.

RelativeSource

وهذا مفيد عندما تريد تحديد المصدر نسبة الى مكان وجود مستلم الربط الخاص بك . بعض السيناريوهات الشائعة حيث يمكنك استخدام هذه الخاصية هى عندما ترغب في ربط أحد خصائص العنصر الخاص بك إلى آخر خاصية أخرى من نفس العنصر أو إذا كنت تقوم بتعريف ربط في نمط أو قالب. لمزيد من المعلومات، راجع RelativeSource.

ElementName

تحديد سلسلة أحرف تمثل العنصر الذي تريد الربط به. وهذا مفيد عندما ترغب في ربط إلى خاصية عنصر آخر في التطبيق الخاص بك. على سبيل المثال، إذا كنت تريد استخدام Slider للتحكم فى ارتفاع عنصر تحكم آخر في التطبيق الخاص بك أو إذا كنت ترغب في ربط Content لعنصر التحكم الخاص بك إلى الخاصية SelectedValue الخاصة بعنصر التحكم ListBox الخاص بك. لمزيد من المعلومات، راجع ElementName.

راجع أيضًا:

المرجع

FrameworkElement.DataContext

FrameworkContentElement.DataContext

المبادئ

وراثة قيمة الخاصية

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

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

موارد أخرى

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