كيفية القيام بما يلي: تحديد مصدر الربط
في ربط البيانات، يشير كائن مصدر الربط إلى كائن الذي تحصل منه على البيانات. يصف هذا الموضوع طرق مختلفة من تحديد مصدر الربط .
مثال
إذا كنت تقوم بربط العديد من الخصائص إلى مصدر مشترك يجب ان تستخدم الخاصية 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 بدلاً من الخاصية DataContext. لمزيد من المعلومات، راجع Source. |
|
وهذا مفيد عندما تريد تحديد المصدر نسبة الى مكان وجود مستلم الربط الخاص بك . بعض السيناريوهات الشائعة حيث يمكنك استخدام هذه الخاصية هى عندما ترغب في ربط أحد خصائص العنصر الخاص بك إلى آخر خاصية أخرى من نفس العنصر أو إذا كنت تقوم بتعريف ربط في نمط أو قالب. لمزيد من المعلومات، راجع RelativeSource. |
|
تحديد سلسلة أحرف تمثل العنصر الذي تريد الربط به. وهذا مفيد عندما ترغب في ربط إلى خاصية عنصر آخر في التطبيق الخاص بك. على سبيل المثال، إذا كنت تريد استخدام Slider للتحكم فى ارتفاع عنصر تحكم آخر في التطبيق الخاص بك أو إذا كنت ترغب في ربط Content لعنصر التحكم الخاص بك إلى الخاصية SelectedValue الخاصة بعنصر التحكم ListBox الخاص بك. لمزيد من المعلومات، راجع ElementName. |
راجع أيضًا:
المرجع
FrameworkContentElement.DataContext