س: اسم توجيه
تعريف الكائنات المعرفة بواسطة XAML، لغرض الوصول إلى كائن منشأ في رسم كائن من الخلف برمز أو تعليمات برمجية عامة بشكل فريد. مجرد تطبيقها إلى النسخ طراز البرمجة، x:Nameيمكن اعتبار المكافئ إلى المتغير الضغط مرجع كائن، أو مثيل كما يتم إرجاعها بواسطة construcإلىr.
استخدام سمة XAML
<object x:Name="XAMLNameValue".../>
قيم XAML
XAMLNameValue |
سلسلة تتوافق مع القيود المفروضة علىنحو معنىXaml |
ملاحظات
x:Nameيجب أن يكون فريداً namescope XAML. namescope XAML الأساسي هو المعرفة في العنصر الجذر XAML، ويشمل تلك العناصر الموجودة في إنتاج XAML واحدة. يمكن تعريف إضافى namescopes XAML منفصلة بالإطارات إلى مواجهة سيناريوهات محددة. تشغيل سبيل المثال، في WPF، namescopes XAML الجديدة المعرفة و تم إنشاؤها بواسطة أي قالب أيضا المعرفة تشغيل هذه الصفحة. لمزيد من معلومات حول namescopes XAML (المكتوبة ل WPF ولكن ذات الصلة للعديد من المفاهيم namescope XAML عام)، راجع Namescopes XAML WPF.
x:Nameيجب عدم تطبيق في المواقف التي تستخدم أيضاx:Key. تم تقديم تطبيقات XAML معينة المفاهيم استبدال بين x:Keyو x:Name، إلا أن هو غير المستحسنة التدريب العملي. لا يدعم الخدمات XAML إطار عمل.NET مثل المفاهيم الاستبدال عند معالجة معلومات مثل كـ INameScopeأو DictionaryKeyPropertyAttribute.
قواعد permittance من x:Nameكـ أيضا كـ فرض تفرد اسم من المحتمل أن المعرفة بخاصة بتطبيق الإطارات. على الرغم من ذلك، وحتى تكون قابلة للاستخدام مع الخدمات XAML إطار عمل.NET، يجب أن يكون تعريفات إطار عمل consهوtent بالتعريف INameScopeالمعلومات ومكان المعلومات هو تطبيق. على سبيل المثال، Windows Presentation Foundation (WPF)التنفيذ بتقسيم عناصر ترميز المختلفة في منفصلة NameScopeنطاقات، مثل القواميس مورد، شجرة منطقية انشئت بواسطة XAML المستوى الصفحة، والقوالب، والآخر مؤجل المحتوى، وثم بفرض تفرد XAML اسم داخل كل من تلك namescopes XAML.
لكائن أنواع مخصصة باستخدام الخدمات.NET Framework XAML XAML كتاب، خاصية الذي يعين إلى x:Nameتشغيل يمكن تأسيس نوعا أو تغييرها. القيام بهذا يرجع إلى اسم تلك خاصية مع RuntimeNamePropertyAttributeفي تعليمات برمجية لتعريف نوع ( RuntimeNamePropertyAttributeسمة نوع المستوى).
يمكن تعريف الخدمات XAML Using.NET Framework، منطق نسخة احتياطية لدعم namescope XAML بطريقة محايدة لإطار عمل ذلك من خلال تطبيق INameScopeالواجهة.
ملاحظات استخدام WPF
تحت تكوين بنية قياسية WPFمشروع تطبيق الذي يستخدم XAML، فئات جزئي، وتعليمات برمجية-الخلف، المحدد x:Nameيصبح اسم حقل التي هو التي تم إنشاؤها في المصدر تعليمات برمجية عند XAMLهو معالجتها، وهذا الحقل يحتوي على مرجع للكائن. افتراضياً، يكون للحقل التي تم إنشاؤها هو داخلي. يمكنك تغير دخول الحقل بتحديد x: سمة معدل الحقل
لتطبيق WPF يستخدم في Microsoft Visual Basic .NETتستهدف يتضمن ملفات XAML ب Pageبناء الإجراء، خاصية مرجع منفصل هو تم إنشاؤه أثناء التحويل البرمجي لإضافة WithEventsكلمة أساسية لكافة العناصر التي تحتوي على x:Name، لدعم Handlesبناء الجملة للتفويضات معالج حدث. هذه الخاصية هي دائما عامة. للمزيد من التفاصيل ، راجع معالجة حدث WPF و Visual Basic.
x:Nameهو المستخدمة من قبل المعالج XAML WPF regهوter اسماً في namescope XAML، حتى بالنسبة للحالات الموقع الصفحة هو لا ترجمة (على سبيل المثال، XAML حر). هذا بسبب ان x:Name لازمة لربط ElementName للمزيد من التفاصيل ، راجع نظرة عامة حول ربط البيانات.
كـ المذكورة سابقا، x:Name(أوName) يجب عدم تطبيق في المواقف التي تستخدم أيضا x:Key. The WPF ResourceDictionary has a special behavior of defining itself as a XAML namescope but returning Not Implemented for the key INameScope APIs as a way to enforce this behavior.
x: اسم و اسم
يمكن للعديد من التطبيقات WPF تجنب أي استخدام ل x:Nameالسمة، لأن Nameخاصية تبعية كـ المحدد ضمن الافتراضي مساحة الاسم XAML للعديد من clكـses bكـe الهامة مثل كـ FrameworkElementو FrameworkContentElementتحقيق هذا الهدف نفسه. لا يزال هناك بعض السيناريوهات عام XAML و WPF الموقع رمز الوصول إلى عنصر مع لا Nameخاصية هو لا تعتمد فئات الدعم المثال وحركة معينة ولوحة العمل Nameخاصية. يجب تحديد x:Nameتشغيل جداول زمنية والتحويلات التي تم إنشاؤها في XAML، إذا كنت ترغب في أن إلى الرجوع إليها من تعليمات برمجية.
إذا Nameهو متوفرة كخاصية في الفئة، Nameو x:Nameيمكن استخدامها كسمات، التبادل ولكن سيؤدي استثناء تحليل إذا كان كلاهما المحددة تشغيل نفس العنصر. إذا كانت XAML هو ترميز التي تم تحويلها برمجياً، يحدث استثناء على ترجمة ترميز، otherwهوe حدوثه في تحميل.
Nameيمكن تعيينها باستخدام بناء جملة السمة XAML، وفي تعليمات برمجية باستخدامSetValue؛ مع ذلك لاحظ هذا الإعدادNameلا خاصية في تعليمات برمجية بإنشاء مرجع الحقل تمثيلية داخل namescope XAML في معظم الأحوال الموقع XAML هو تحميلها بالفعل. بدلاً من محاولة تعيين Name في التعليمات البرمجية، أو استخدام أساليب NameScope من التعليمات البرمجية مقابل namescope المناسبة.
Nameيمكن أيضا تعيين استخدام خاصية عنصر بناء مع نص الداخلي، لكن هو معروفة. في تباين، x:Nameلا يمكن تعيين XAMLبناء جملة خاصية لعنصر، أو في تعليمات برمجية باستخدام SetValue؛ فإنه يمكن فقط تعيين استخدام بناء جملة السمة تشغيل الالكائنات بسبب أنه هو التوجيه.