x: مفتاح توجيه

تعريف العناصر التي يتم إنشاؤها والمشار إليها في قاموس المعرفة بواسطة XAML بشكل فريد.

استخدام سمة XAML

<object x:Key="stringKeyValue".../>
-or-
<object x:Key="{markupExtensionUsage}".../>

استخدام XAML سمة (WPF خاصة)

<object.Resources>
  <object x:Key="stringKeyValue".../>
</object.Resources>
-or-
<object.Resources>
  <object x:Key="{markupExtensionUsage}".../>
</object.Resources>

قيم XAML

stringKeyValue

سلسلة نصية إلى استخدامه كمفتاح. يجب أن يطابق السلسلة النصية إلى نحو معنىXaml.

markupExtensionUsage

ضمن {ترميز ملحق محددات}، استخدام ملحق علامات التي توفر كائن إلى استخدم كالمفتاح. راجع ملاحظات.

ملاحظات

في XAML ٢٠٠٦ و WPF، x:Key يجب توفيره كسمة. يمكنك أيضا استخدام مفاتيح غير السلسلة، ولكن يتطلب ذلك استخدام ملحق علامات بترتيب إلى توفير القيمة سلسلة غير النموذج السمة. اذا كنت تستخدم 2009 XAML, x:Key يمكن تحديده كعنصر، لدعم بشكل صريح قواميس مفتاحية بواسطة أنواع الكائنات غير السلاسل دون الحاجة إلى ملحق علامات متوسط. راجع "XAML 2009" مقطع أدناه n هذا الموضوع. يتم تطبيق الجزء المتبقي مقطع "ملاحظات" خاصة لتطبيق XAML 2006.

قيمة سمة x:Key يمكن أن تكون سلسلة معرفة في نحو معنىXaml أو يمكن أن يكون كائن مقيم خلال ملحق العلامات. راجع "ملاحظات استخدام WPF" على سبيل مثال من WPF.

فرع عناصر للعنصر الأصل هو IDictionaryالتنفيذ بشكل عام يجب أن تضمين x:Keyالسمة الذي يقوم بتعيين القيمة المفتاح فريدة داخل هذا القاموس. قد تطبق الإطارات خصائص المفاتيح المستعار إلى استبدال x:Keyتشغيل أنواع محددة من; الأنواع التي تعرف هذه الخصائص يجب أن تكون سببا مع DictionaryKeyPropertyAttribute.

المكافئ التعليمة البرمجية لتعيين x:Keyهو الالمفتاح كـ المستخدمة للمصدر IDictionary. على سبيل المثال، x:Keyتطبيقها في ترميز لمورد في WPF هو مساوية للقيمة keyمعلمة من ResourceDictionary.Addعند إضافة مورد WPF ResourceDictionaryفي تعليمات برمجية.

ملاحظات استخدام WPF

الكائنات الفرعة من الكائن الأصل هو IDictionaryتطبيق مثل كـ WPF ResourceDictionaryيجب أن تضمين عادة x:Keyيجب أن تكون السمة، وقيمة المفتاح فريد في هذا القاموس. هناك استثناءات أهمية الثاني:

في العام XAML WPF التنفيذ والتطبيق الطراز، المفتاح التفرد هو لا يتم التحقق من قبل المحول البرمجي XAML العلامات. Missفيg و/او غير فريد x:Keyقيم بالنتيجة في stead في وقت تحميل XAML محلل الأخطاء.

لاحظ أنه في بناء جملة عرض، ResourceDictionaryالكائن هو الضمني في كيفية إنتاج المعالج XAML WPF مجموعة لتجميع Resourcesمجموعة. ResourceDictionaryهو لا عادة توفير بوضوح كعنصر في ترميز، على الرغم من أنه يمكن أن يكون في بعض الحالات إذا رغبت في ذلك للإيضاح (فسيكون عنصر كائن مجموعة بين Resourcesعنصر خاصية والعناصر داخل التي تضع القاموس). للحصول تشغيل التفاصيل حول كائن مجموعة هو دائماً عنصر ضمني في ترميز، راجع بناء جملة XAML في التفاصيل.

في تطبيق XAML WPF، ومعالجة مفاتيح قاموس مورد هو المعرفة بواسطة ResourceKeyفئة. مجردة ومع ذلك المعالج XAML WPF تنتج مختلف أنواع ملحق الأساسي لمفاتيح استناداً إلى الاستخدامات الخاصة بهم. على سبيل المثال، المفتاح DataTemplateأو أي اشتقاق فئة هو التي تمت معالجتها بشكل منفصل، وينتج dهوtinct DataTemplateKeyالكائن.

مفاتيح و استخدام أسماء مختلفة لتوجيهات و عناصر اللغة ( x:Keyمقابل x:Name) في أساسى XAML تعريف. مفاتيح و أسماء تستخدم أيضا في حالات مختلفة بواسطة تعريف WPF و تطبيق هذه النقاط. للمزيد من التفاصيل ، راجع Namescopes XAML WPF.

كما ذكر سابقا، تم توفير القيمة المفتاح من خلال ترميز الملحق وتكون غير القيمة سلسلة. سيناريو WPF مثال هو التي القيمة x:Keyقد يكون من ComponentResourceKey. تعرض بعض عناصر التحكم المفتاح نمط نوع مورد نمط مخصص الذي يؤثر بشكل كبير جزءا من الشكل و أسلوب عرض عنصر التحكم دون totally استبدال النمط. مثال على مفتاح مثل ذلك هو ButtonStyleKey.

تقدم ميزة القاموس المدمج WPF اعتبارات إضافى فيما يتعلق المفتاح التفرد و المفتاح سلوك البحث. لمزيد من المعلومات، راجع المدمجة قواميس لمورد على مستوى المؤسسة.

XAML 2009

يرخي 2009 XAML التقييد أن x:Key يتم توفيره دوماً في نموذج السمة.

في WPF، يمكنك استخدام ميزات 2009 XAML ولكن فقط من أجل XAML غير مترجمة العلامات. مترجم العلامات XAML لنموذج WPF و نموذج BAML من XAML لا يدعم حالياً كلمات أساسية و ميزات XAML 2009.

ضمن 2009 XAML، يمكنك تحديد x:Keyالعناصر من خلال استخدام ما يلي:

استخدام عنصر XAML (XAML 2009 فقط)

<object>
  <x:Key>
keyObject
  </x:Key>
...
</object>

قيم XAML

keyObject

عنصر كائن للكائن المستخدم كمفتاح ل object المعطى في القاموس المتخصص.

  • الحاويه/الاصل لترتيب هو نوع الاستخدام هو غير المعروضة هنا. objectهو من المتوقع أن يكون تابع لنوع من عنصر الكائن الذي يمثل التنفيذ قاموس متخصص. keyObjectهو من المتوقع أن يكون مثيل كائن (أو قيمة نوع القيمة) التي هو المناسبة كمفتاح لتطبيق قاموس متخصص معين لذلك.

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

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

راجع أيضًا:

المرجع

ملحق العلامات StaticResource

المبادئ

نظرة عامة على الموارد

رمز والموارد