تعليمات برمجية-الخلف و XAML في WPF

تعليمات برمجية-behind هو a term used إلى describe the تعليمات برمجية that هو joined مع ترميز-defined الكائنات, when a XAML الصفحة هو ترميز-compiled. يصف هذا الموضوع المتطلبات للتعليمات البرمجية الخلفية كبديل داخل آلية التعليمات البرمجية للتعليمات البرمجية في XAML.

يشمل هذا الموضوع على الأقسام التالية.

  • المتطلبات الأساسية

  • تعليمات برمجية-Behind و the XAML اللغة

  • تعليمات برمجية-الخلف ومعالج الأحداث فئة جزئية متطلبات في WPF

  • x:التعليمات البرمجية

  • قيود التعليمات البرمجية الضمنية

المتطلبات الأساسية

يفترض هذا الموضوع أن تكون قد قرأت عن نظرة عامة على XAML (WPF) و أن يكون لديك بعض المعلومات الأساسية عن CLRو عن البرمجة المتجهة نحو الكائنات .

تعليمات برمجية-Behind و the XAML اللغة

The XAML اللغة يتضمن اللغة-المستوى features that make it possible إلى associate تعليمات برمجية ملفات مع ترميز ملفات, من the ترميز ملف side. Specifically, the XAML اللغة defines the اللغة features x: Class سمة, سمة x: فئة فرعية, و س: ClassModifier سمة. Exactly how the تعليمات برمجية should be produced, و how إلى integrate ترميز و تعليمات برمجية, ليس part of what the XAML اللغة specifies. It هو يسار لأعلى إلى frameworks such كـ WPF إلى determine how إلى integrate the تعليمات برمجية, how إلى استخدم XAML في the تطبيق و programming نماذج, و the بنية الاجراءات أو غير ذلك دعم that الجميع this يتطلب.

تعليمات برمجية-الخلف ومعالج الأحداث فئة جزئية متطلبات في WPF

  • The جزئي فئة must derive من the نوع that backs the جذر عنصر.

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

  • حدث الكتابة في تعليمات برمجية لمعالجات يجب أن تكون وظائف مثيل ولا يمكن أن تكون وظائف ثابتة. يجب تعريف هذه الطرق فئة جزئي داخل مساحة الاسم CLR المعرف بواسطة x:Class. لا تقوم بتأهيل اسم معالج الأحداث إلى إرشاد XAMLالمعالج إلى ابحث عن معالج حدث لشبكة الأسلاك الحدث في نطاق فئة مختلفة.

  • يجب أن تتطابق مع المعالج على المفوض للحدث المناسب في النظام نوع النسخ.

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

x:التعليمات البرمجية

س: تعليمات برمجية هو عنصر موجها المعرفة في XAML.  x:Codeالتوجيه يمكن أن يحتوي على عنصر مضمن برمجة تعليمات برمجية. التعليمات البرمجية التي يتم تعريفها ضمنياً يمكنها التفاعل مع XAML على نفس الصفحة . يوضح المثال التالي التعليمات البرمجية #C الضمنية . لاحظ أن التعليمة البرمجية داخل عنصر x:Code و أن التعليمة البرمجية يجب أن تكون محاطة بـ <CDATA[...]]> لتهريب المحتويات إلىXML ، بحيث لن يحاول المعالج XAML ا (تفسير إما المخطط XAML أو المخطط WPF ) من تفسير المحتويات حرفياً كـXML.

<Page
  xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="MyNamespace.MyCanvasCodeInline"
>
  <Button Name="button1" Click="Clicked">Click Me!</Button>
  <x:Code><![CDATA[
    void Clicked(object sender, RoutedEventArgs e)
    {
        button1.Content = "Hello World";
    }
  ]]></x:Code>
</Page>

قيود التعليمات البرمجية الضمنية

يجب تجنب أو الحد من الاستخدام موضعي تعليمات برمجية. من ناحية الهيكلية و فلسفة التعليمات البرمجية ، معالجة الفصل بين العلامات و التعليمات البرمجية الخلفية يحتفظ بأدوار المصمم "و" المطور بشكل مميز أكثر. تشغيل المستوى تقني أكثر، والتعليمات البرمجية التي قمت بكتابتها ل موضعي يمكن أن تكون تعليمات برمجية awkward للكتابة، لأن الكتابة دوماً في XAMLإنشاء فئة جزئي، ويمكن فقط استخدام الافتراضي XML مساحة الاسم تعيينات. لأنه لا يمكنك إضافة عبارات using ، التي يجب عليك أن تقوم بتأهيل العديد من استدعاءات API التي تقوم بها بشكل كامل. الافتراضي WPFتضمين تعيينات الأكثر لكن ليس جميعها CLRمساحات الاسم الموجودة في WPFتجميعات؛ فيجب أن كامل تأهيل الاستدعاءات إلى أنواع و الأعضاء الموجودة في آخر CLR مساحات الاسم. كما لا يمكن تعريف أى شىء ما بعد clكـs الجزئية في تعليمات برمجية المضمنة، ويجب أن تتواجد الجميع وحدات تعليمات برمجية مستخدم الرجوع كـ العضو أو متغير داخل clكـs الجزئي الذي تم إنشاؤه. ميزات للبرمجة المختصة باللغة، مثل وحدات الماكرو أو #ifdef مقابل المتغيرات العمومية أو متغيرات البناء ، أيضاً لا تتوفر. لمزيد من المعلومات، راجع عنصر توجيه XAML x: رمز.

راجع أيضًا:

المرجع

عنصر توجيه XAML x: رمز

المبادئ

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

إنشاء تطبيق WPF (WPF)

بناء جملة XAML بالتفاصيل