ربط ملحق علامات

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

ربط استخدام التعبير

<object property="{Binding}" .../>
-or-
<object property="{Binding bindProp1=value1[, bindPropN=valueN]*}" ...
/>
-or-
<object property="{Binding path}" .../>
-or
<object property="{Binding path[, bindPropN=valueN]*}" .../>

ملاحظات بناء الجملة

في أبنية الجمل تلك ، [] و * ليسوا قيم حرفية. إنهم جزء من التعليق التوضيحي للإشارة إلى إنه يمكن استخدام الصفر أو قيمة أزواج bindProp= أكثر ، مع فاصل , بين هذه و أزواج قيمة bindProp= .

أي من الخصائص المذكورة في القسم "ربط الخصائص التي يمكن أن يتم تعيينها بملحق الربط " يمكن بدلاً من ذلك أن يتم تعيينها باستخدام سمات من عنصر الكائن Binding . على الرغم من ذلك، هذا ليس بالحقيقة استخدام ملحق العلامات لــ Binding ، إنه فقط معالجة XAML العامة من السمات التي تقوم بتعيين الخصائص الخاصة بفئة Binding CLR. بمعنى آخر، <Binding bindProp1=" value1 "[ bindPropN="valueN"]*/> هي مكافئة لسمات استخدام عنصر الكائن Binding بدلاً من استخدام التعبير Binding. للحصول على المزيد حول استخدام سمة XAML الخاصة بخاصية معيّنة من Binding ، راجع قسم "استخدام سمة XAML" للخاصية ذات الصلة Binding في مكتبة ".NET Framework فئة".

قيم XAML

bindProp1, bindPropN

اسم خاصية Binding أو BindingBase لتعيينها . ليست كافة خصائص Binding يمكن تعيينها بملحق Binding و بعض الخصائص قابلة للتعيين داخل تعبير Binding فقط باستخدام ملحقات من العلامات المتداخلة. راجع قسم "ربط خصائص التي قد يتم تعيينها بملحق الربط ".

value1, valueN

في حالة تعيين القيمة للخاصية معالجة قيمة السمة تقتصر على نوع ومنطق من خاصية Binding المحددة التي تم تعيينها .

path

سلسلة المسار التي تقوم بتعيين خاصية Binding.Path الضمنية . راجع أيضاً بناء مسار جملة XAML.

ربط غير مؤهل

استخدام {Binding} الموضح في "استخدام تعبير الربط" يقوم بإنشاء كائن Binding بقيم افتراضية تتضمن Binding.Path الأولى من null. وهذا لا يزال مفيداً في العديد من وحدات السيناريو لأن Bindingالمنشأ قد يمكنه الاعتماد على خصائص ربط بيانات المفتاح مثل Binding.Path و Binding.Source أن يتم تعيينها في سياق بيانات وقت التشغيل . للحصول على معلومات أكثر حول مفهوم سياق البيانات ، راجع ربط البيانات..

المسار الضمني

ملحق علامات Binding يستخدم Binding.Path كمثل تصوري "الخاصية الافتراضية" ، حيث Path= لا تحتاج إلى الظهور في التعبير. إذا حددت تعبير Binding بمسار ضمني، يجب أن يظهر المسار الضمني أولاً في التعبير قبل أي أزواج bindProp = value أخريين حيث يتم تحديد الخاصية Binding بواسطة الاسم. فعلى سبيل المثال: {Binding PathString} ، حيثPathString هي سلسلة يتم تقييمها لتصبح قيمة Binding.Path فيBinding المنشأ بواسطة استخدام ملحق العلامات . يمكنك إلحاق مسار ضمني بخصائص مسماة أخرى بعد فاصل الفاصلة ، على سبيل المثال، {Binding LastName, Mode=TwoWay}.

ربط خصائص التي قد يتم تعيينها بملحق الربط .

بناء الجملة المبين في هذا الموضوع يستخدم تقريب bindProp = value العام ، بسبب وجود العديد من الخصائص للقراءة/الكتابة من BindingBase أو Binding التي يمكن تعيينها خلال بناء جملة التعبير / ملحق العلامات Binding . يمكن تعيينهم بأي ترتيب, مع استثناء لـ Binding.Path ضمني . (لديك الخيار لتحديد Path=بشكل واضح , وفي هذه الحالة يمكن تعيينه في أي ترتيب). بشكل أساسي, يمكنك تعيين صفر أو أكثر من الخصائص في القائمة أدناه، باستخدام أزواج bindProp = value مفصولة بفواصل.

تتطلب العديد من قيم الخصائص هذه أنواع الكائنات التي لا تدعم تحويل نوع أصلي من بناء جملة نص في XAML وبالتالي تتطلب ملحقات العلامات من أجل تعيينها كـ قيمة سمة. تحقق من قسم استخدام سمة XAML في مكتبة الفئات .NET Framework لكل خاصية للحصول على مزيد من المعلومات; السلسلة التي تقوم باستخدامها لبناء جملة سمة XAML مع أو بدون استخدام ملحق العلامات بشكل أكبر هو بشكل أساسي نفس القيمة التي تحددها في تعبير Binding ، مع استثناء ألا تضع علامات الاقتباس حول كل bindProp = value في تعبير Binding .

  • BindingGroupName: سلسلة تقوم بتعريف مجموعة الربط الممكنة. يعتبر هذا مفهوم الربط المتقدم نسبياً; راجع صفحة المرجع لــ BindingGroupName.

  • BindsDirectlyToSource: "منطقي" ، يمكن أن يكون إما بــtrue أوfalse. يكون الإعداد الافتراضي هو false.

  • Converter: يمكن أن يتم تعيينه كسلسلة bindProp =value في التعبير ولكن القيام بذلك يتطلب مرجع كائن للقيمة ، مثلملحق علامات StaticResource. القيمة الموجودة في هذه الحالة هي مثيل فئة محول مخصص.

  • ConverterCulture: قابل للتعيين في التعبير كمعرّف يستند إلى المقاييس; راجع موضوع المرجع لــConverterCulture.

  • ConverterParameter: يمكن أن يتم تعيينه كـسلسلة bindProp =value في التعبير ، ولكن ذلك يعتمد على نوع المعلمة التي تم تمريرها. في حالة تمرير نوع مرجع لهذة القيمة ، يتطلب هذا الاستخدام مرجع كائن مثل ملحق علامات StaticResource متداخلة .

  • ElementName: تبادلية مقابلRelativeSource وSource; كل من هذة خصائص الربط يمثل منهج ربط معين. انظر نظرة عامة لربط البيانات

  • FallbackValue: يمكن أن يتم تعيينه كـسلسلة bindProp =value في التعبير ، ولكن ذلك يعتمد على نوع القيمة التي تم تمريرها. في حالة تمرير نوع مرجع ، يتطلب مرجع كائن مثل ملحق علامات StaticResource متداخل.

  • IsAsync: "منطقي" ، يمكن أن يكون إما بــtrue أوfalse. يكون الإعداد الافتراضي هو false.

  • Mode: القيمة هي اسم ثابت من التعداد BindingMode . على سبيل المثال، {Binding Mode=OneWay}.

  • NotifyOnSourceUpdated: "منطقي" ، يمكن أن يكون إما بــtrue أوfalse. يكون الإعداد الافتراضي هو false.

  • NotifyOnTargetUpdated: "منطقي" ، يمكن أن يكون إما بــtrue أوfalse. يكون الإعداد الافتراضي هو false.

  • NotifyOnValidationError: "منطقي" ، يمكن أن يكون إما بــtrue أوfalse. يكون الإعداد الافتراضي هو false.

  • Path: سلسلة تصف مسار في كائن البيانات أو على طراز الكائن العام. يوفر التنسيق اصطلاحات مختلفة للعبور إلى طراز كائن لا يمكن بشكل ملائم وصفه في هذا الموضوع . انظر بناء مسار جملة XAML

  • RelativeSource: تبادلية مقابل معElementName وSource; كل من هذة خصائص الربط يمثل منهج ربط معين. انظر نظرة عامة لربط البيانات يتطلب استخدام النسبية ملحق توصيف المصدر متداخل لتحديد قيمة.

  • Source: تبادلية مقابلRelativeSource وElementName; كل من هذة خصائص الربط يمثل منهج ربط معين. انظر نظرة عامة لربط البيانات يتطلب استخدام ملحق متداخل ، عادةً ملحق علامات StaticResource الذي يشير إلى مصدر بيانات كائن من قاموس مورد keyed.

  • StringFormat: سلسلة تصف اصطلاح تنسيق سلسلة لبيانات الحد. يعتبر هذا مفهوم الربط المتقدم نسبياً; راجع صفحة المرجع لــ StringFormat.

  • TargetNullValue: يمكن أن يتم تعيينه كـسلسلة bindProp =value في التعبير ، ولكن ذلك يعتمد على نوع المعلمة التي تم تمريرها. في حالة تمرير نوع مرجع لهذة القيمة ، يتطلب هذا مرجع كائن مثل ملحق علامات StaticResource متداخلة .

  • UpdateSourceTrigger: القيمة هي اسم ثابت من التعداد UpdateSourceTrigger . على سبيل المثال، {Binding UpdateSourceTrigger=LostFocus}. عناصر تحكم معينة يحتمل أن يكون لها قيم افتراضية مختلفة لخاصية الربط تلك . انظر UpdateSourceTrigger

  • ValidatesOnDataErrors: "منطقي" ، يمكن أن يكون إما بــtrue أوfalse. يكون الإعداد الافتراضي هو false. راجع ملاحظات.

  • ValidatesOnExceptions: "منطقي" ، يمكن أن يكون إما بــtrue أوfalse. يكون الإعداد الافتراضي هو false. راجع ملاحظات.

  • XPath: سلسلة تصف مساراً إلى XMLDOM الخاص بمصدر بيانات XML . انظر كيفية القيام بما يلي: ربط بيانات XML باستخدام XMLDataProvider واستعلامات XPath

التالية هي خصائص Binding التي لا يمكن تعيينها باستخدام Binding ملحق العلامات / {Binding} نموذج التعبير.

  • UpdateSourceExceptionFilter: هذة الخاصية تتوقع مرجع لتطبيق رد الاتصال. لا يمكن لأساليب/استرجاع الاتصال الأخرى عن معالجات الأحداث أن تكون مرجعاً في بناء جملة XAML .

  • ValidationRules: الخاصية تأخذ مجموعة عامة من كائناتValidationRule . قد يكون هذا معبراً عنه على إنه عنصر خاصية في عنصر الكائن Binding ولكن قد لا يحتوي بسهولة على تقنية تحليل السمة متوفرة للاستخدام في تعبير Binding . راجع مقال المرجع لـ ValidationRules.

  • XmlNamespaceManager

ملاحظات

ملاحظة هامةهام

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

وصف ربط البيانات عند مستوى أساسي لم يتم تغطيته في هذا الموضوع . انظر نظرة عامة لربط البيانات

ملاحظةملاحظة

MultiBinding وPriorityBinding لا يدعما بناء جملة تعبيرXAML . يمكنك بدلاً من ذلك استخدام عناصر الخاصية .راجع المواضيع المرجعية الخاصة بــ MultiBinding و PriorityBinding.

القيم المنطقية لــ XAML ليس لديها حالة التحسس للأحرف . على سبيل المثال يمكنك تحديد إما {Binding NotifyOnValidationError=true}أو {Binding NotifyOnValidationError=True}

الارتباطات التي تتضمن التحقق من صحة البيانات يتم تحديدها حسب عنصر Binding صريح بدلاً من كما في تعبير {Binding ...} ، وإعداد ValidatesOnDataErrors أو ValidatesOnExceptions في التعبير هو غير شائع. ويرجع السبب إلى إن خاصية دليل ValidationRules لا يمكن تعيينها بسهولة في نموذج التعبير. لمزيد من المعلومات، راجع كيفية القيام بما يلي: تنفيذ التحقق من صلاحية الربط.

Binding هو علامات الملحق. يتم عادةً تطبيق ملحقات العلامات عند وجود متطلبات للهروب صواب القيم أن تكون غير قيم حرفية أو أسماء معالج أو المتطلبات أكثر عمومية من محولات لها سمة على بعض الأنواع أو الخصائص. كافة علامات الملحقات في XAML تستخدم الأحرف { و } في بناء جملة السمة الخاصة بهم و الذي هو الاصطلاح الذي عن طريقه يتعرف معالج XAML على إن ملحق العلامات يجب عليه معالجة محتويات السلسلة. لمزيد من المعلومات، راجع ملحقات ترميز و XAML WPF.

Bindingملحق علامات atypical في إن فئة Binding التي تقوم بتنفيذ وظائف ملحق لتطبيق XAML الخاص بـ WPF أيضاً يقوم بتطبيق العديد من الأساليب الأخرى والخصائص ليست ذات الصلة بــ XAML. أعضاء آخرين قد تم تخصيصهم لجعل Binding فئة أكثر versatile وأكثر تضميناً لنفسها التي يمكنها الاشارة إلى العديد من سيناريوهات الربط بالإضافة إلى العمل كملحق علامات XAML .

راجع أيضًا:

المرجع

Binding

المبادئ

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

نظرة عامة على XAML (WPF)

ملحقات ترميز و XAML WPF