برنامج WPF التعليمي للمبتدئين: كيفية إنشاء التطبيق [مثال]

ما هو WPF؟

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

يمكن اعتبار WPF بمثابة تطور على WinForms. فهو ينتج نظام عرض رسومي سهل التشغيل لـ Windows. يوفر سهولة الفصل بين واجهة المستخدم ومنطق الأعمال.

يمكن نشر تطبيقات WPF في نظامك كبرنامج سطح مكتب مستقل أو استضافتها ككائن مضمن في موقع ويب.

لماذا WPF؟

هناك العديد من الأسباب لاستخدام منصة WPF، ومن أبرزها-

  • منصة مثالية للاستخدام إذا كنت تريد التعامل مع أنواع الوسائط المختلفة
  • يتيح لك WPF إنشاء واجهة مستخدم ذات سطح خارجي. كما أنه يساعدك أيضًا عندما تحتاج إلى تحميل جزء من واجهة المستخدم أو تريد ربط بيانات XML
  • فهو يسمح لك بالاستفادة من مكتبة فئات .NET الكبيرة التي تم بناؤها عليها تقنية .NET
  • استقلالية الدقة، بحيث يمكن تشغيل التطبيقات التي تم تطويرها باستخدام WMF على الأجهزة المحمولة أو شاشة مقاس 20 بوصة
  • يعتمد WPF على DirectX بدلاً من WinAPI. ويقدم نظام الرسومات للكمبيوتر العميل. ولذلك، تقديم قوة عرض رسومية أكبر
  • يدعم نموذج مستند التدفق الذي يتيح جودة "النشر المكتبي" للتخطيط
  • المظهر والسلوك مرتبطان بشكل فضفاض. يتيح ذلك للمصممين والمطورين العمل على نموذجين منفصلين
  • في إطار عمل WMF، يمكنك تصميم الأدوات بيانيًا على مستندات XML البسيطة بدلاً من تحليل التعليمات البرمجية
  • يتيح لك استخدام تسريع الأجهزة لرسم واجهة المستخدم الرسومية، للحصول على أداء أفضل

تاريخ WPF

Windows 1.0 كانت أول بيئة واجهة مستخدم رسومية من Microsoft. إنه يعمل كطبقة فوق DOS، ويعتمد على أنظمة GDI وUSER للرسومات وواجهة المستخدم.

تم تقديم DirectX في عام 1995، كنظام رسوميات عالي الأداء. كان يستهدف الألعاب والبيئات الأخرى ذات الصلة بالرسومات. على مر السنين، تم إصدار العديد من الإصدارات باستخدام Directx9 التي توفر مكتبة للاستخدام مع كود mange.Net.

نسخة دبليو بي إف سنة الإصدار . صافي الإصدار نسخة فيجوال ستوديو المميزات
3.0 2006 3.0 N / A الإصدار الأولي.
ومع ذلك، يمكن تطوير WPF باستخدام VS 2005.
3.5 2007 3.5 ضد 2008 التعديل والتحسينات في:
نموذج التطبيق، والتجليد، والضوابط، والمستندات، والشروح، وعناصر Ul ثلاثية الأبعاد.
3.5 SP1 2008 3.5 SP1 N / A دعم شاشة البداية الأصلية. تحكم جديد في متصفح الويب، ودعم تظليل DirectX بكسل.
4.0 2010 4.0 ضد 2010 ضوابط جديدة: التقويم. داتاغريد، منتقي التاريخ. اللمس المتعدد والتلاعب
4.5 2012 4.5 ضد 2012 وقت إعداد أسرع وأداء محسّن لتأثيرات الصور النقطية. ضوابط جديدة: التقويم. داتاغريد، منتقي التاريخ.
اللمس المتعدد والتلاعب
4.5.1 2013 4.5.1 ضد 2013 التحكم بالشريط الجديد
واجهة INotifyDataErrorlnfo الجديدة
4.5.2 2014 4.5.2 NA لا يوجد تغيير كبير
لا يوجد تغيير كبير
4.6 2015 4.6 ضد 2015 دعم نافذة الطفل الشفافة
تحسينات HDPI واللمس

أحدث إصدار ثابت من WPF 5.0.6 والذي تم إصداره في أبريل 2021.

مميزات برنامج WPF

مميزات برنامج WPF
مميزات برنامج WPF
  • الوثائق والطباعة
  • الأمان وإمكانية الوصول والتعريب
  • يوفر إمكانية التشغيل المتبادل مع Windows ضوابط النماذج
  • يُستخدم Direct3D في التطبيقات الرسومية حيث يكون الأداء مهمًا
  • يستخدم أجهزة بطاقة الفيديو للعرض
  • تسمح لك الرسومات المستندة إلى المتجهات بتوسيع نطاق تطبيقك دون فقدان الجودة
  • يدعم WPF نظام البكسل المنطقي ذو الفاصلة العائمة ولون ARGB 32 بت
  • إعادة تعريف الأنماط وقوالب التحكم
  • بناء الخطوط الدولية من الخطوط المركبة
  • يساعدك عرض النص WPF على الاستفادة من تقنية ClearType
  • يتيح لك استخدام تقنية التخزين المؤقت للنص المعروض مسبقًا في ذاكرة الفيديو
  • النهج القائم على الموارد لكل عنصر تحكم
  • تتم تهيئة مؤقتات العرض التقديمي وإدارتها بواسطة WPF
  • يتم أيضًا دعم العلاقة بين الفيديو والرسوم المتحركة
  • في WPF، النمط عبارة عن مجموعة من الخصائص التي يجب تطبيقها على المحتوى المستخدم للعرض المرئي
  • تساعدك القوالب الموجودة في WPF على تغيير Ul الخاص بمستندك
  • الأوامر هي نسخة أكثر تجريدًا وترابطًا من الأحداث
  • يؤدي دعم WPF للأوامر إلى تقليل كمية التعليمات البرمجية التي نحتاج إلى كتابتها

التالي في هذا WPF البرنامج التعليمي C #، سوف نتعرف على الأنواع الأساسية لـ WPF والبنية التحتية.

أنواع WPF الأساسية والبنية التحتية

تنقسم الفئات في WPF إلى أربعة أنواع مختلفة:

  • UIElement
  • الإطار
  • ContentElement
  • FrameworkContentElement

تُعرف هذه الفئات باسم فئات العناصر الأساسية، وهي توفر الأساس لنموذج تكوين واجهات المستخدم.

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

XAML

لغة ترميز التطبيقات القابلة للتوسيع والتي تسمى "XAML" أو "zammel" هي طريقة تعريفية لتحديد واجهات المستخدم.

فيما يلي تعريف XAML لزر بسيط:

<Button
FontSize="16"
HorizontalAlignment="Center"
VerticalAlignment="Center"
>
Say Hello Guru99</Button>

مميزات استخدام لغة XAML:

  • XAML يفصل مظهر الواجهة الأمامية عن منطق الواجهة الخلفية
  • XAML هي الطريقة الأسهل لتمثيل واجهات المستخدم
  • XAML يعمل بفعالية مع الأدوات

طرق المكافحة

يدعم إطار عمل WPF العديد من عناصر التحكم المفيدة مثل:

  • عناصر التحكم في التحرير مثل النصBox، التحقق منBox، زر الراديو
  • عناصر التحكم في القائمة مثل القائمةBox، عرض القائمة، عرض الشجرة
  • معلومات المستخدم مثل Label وWPF ProgressBar وToolTip
  • إجراءات مثل القائمة والزر وشريط الأدوات
  • المظاهر مثل Border وWPF Image وViewbox
  • مربعات الحوار الشائعة مثل OpenFileDialog وPrintDialog.
  • حاويات مثل TabContro وScrollBar وGroupBox
  • تخطيطات مثل DocPanel وStackPanel وGrid
  • التنقل مثل الإطار والارتباط التشعبي

يمكن تخصيص مظهر عناصر التحكم باستخدام الأنماط والقوالب بدون برمجة. يمكنك أيضًا إنشاء عنصر تحكم مخصص عن طريق اشتقاق فئة جديدة من فئة أساسية مناسبة.

مظهر

يوفر WPF ميزة لتخصيص مظهر التطبيق الخاص بك. يسمح لك بتعيين كائنات وقيم لأشياء مثل الخطوط والخلفيات وما إلى ذلك.

تتيح لك ميزة الأنماط توحيد مظهر محدد للمنتج بأكمله. يسمح لك باستبدال المظهر الافتراضي مع الاحتفاظ بسلوكه الافتراضي.

يتيح لك قالب البيانات التحكم في التصور الافتراضي للبيانات المرتبطة. وبمساعدة السمات، يمكنك بسهولة تصور الأنماط من نظام التشغيل.

التخطيط واللوحات

يساعدك التخطيط في تحديد المواقع والتحكم في الحجم بشكل مناسب. إنه جزء من عملية إنشاء العرض التقديمي للمستخدم. يعمل إطار عمل WPF على تسهيل عملية التخطيط ويوفر قدرة أفضل على التكيف مع مظهر واجهة المستخدم.

يتم توفير البنية التحتية للتخطيط من خلال فئات مختلفة هي 1) StackPanel 2)DockPanel 3) WrapPanel 4) Grid و 5) Canvas

رسومات

يوفر WPF نظام رسومات محسنًا مثل

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

الوثائق والطباعة

يقدم إطار عمل WPF ثلاثة أنواع من المستندات:

  • الوثائق الثابتة: هذا النوع من المستندات يدعم WYSIWعرض YG.
  • وثائق التدفق: يتيح لك ضبط المحتوى وإعادة تدفقه بناءً على متغيرات وقت التشغيل مثل حجم النافذة ودقة الجهاز.
  • مستندات XPS: إنه تمثيل مقسم إلى صفحات للورق الإلكتروني بتنسيق XML. XPS هو تنسيق مستند مفتوح المصدر ومتعدد الأنظمة.

يتيح WPF تحكمًا أفضل في نظام الطباعة. ويشمل الطباعة عن بعد وقوائم الانتظار. علاوة على ذلك، يمكن طباعة مستندات XPS مباشرة دون تحويلها إلى تنسيق طباعة.

برنامج الأغذية العالمي Architecture

WPF هو جزء من إطار عمل .NET. وهو يحتوي على كود مُدار وغير مُدار. يتم شرح المكونات المهمة لهندسة WPF في الشكل الموضح أدناه:

برنامج الأغذية العالمي Architecture
برنامج الأغذية العالمي Architecture

مكونات بنية WPF

  • PresentationFramework:يساعدك على إنشاء عناصر المستوى الأعلى مثل عناصر التحكم، والأنماط، والتخطيط، والنوافذ، وما إلى ذلك.
  • PresentationCore: يحتوي على أنواع أساسية مثل UIElement والمرئية من جميع عناصر التحكم والأشكال المشتقة في PresentationFramework.dll.
  • CLR: يجعل عملية التطوير منتجة من خلال تقديم ميزات مثل إدارة الذاكرةومعالجة الأخطاء وما إلى ذلك.
  • ميلكور: يعد Milcore جزءًا من التعليمات البرمجية غير المُدارة التي توفر تكاملًا وثيقًا مع DirectX.
  • دايركت: إنها واجهة برمجة التطبيقات (API) ذات المستوى المنخفض التي تسمح بعرض رسومات WPF. تتفاعل محادثات DirectX مع برامج التشغيل وتعرض المحتوى.
  • المستخدم 32: إنها واجهة برمجة التطبيقات الأساسية التي تستخدم على نطاق واسع بواسطة العديد من البرامج. يدير الذاكرة وفصل العملية. يساعدك User32 على تحديد العنصر الذي سيتم وضعه على الشاشة.
  • نواة: ينشأ الإدخال كإشارة على برنامج تشغيل جهاز وضع kernel ويتم توجيهه إلى العملية الصحيحة ومن خلال الاتصال بـ Windows النواة وUser32.

تركيب دبليو بي إف

ارجع إلى هذا الرابط لتثبيت WPF https://www.guru99.com/download-install-visual-studio.html

بعد ذلك، في هذا البرنامج التعليمي لتطبيق WPF، سنقوم ببناء أول WPF.

كيفية إنشاء أول تطبيق WPF الخاص بك؟

في مثال WPF هذا، سنقوم بتطوير تطبيق WPF أساسي. لذا، فلنبدأ التنفيذ البسيط باتباع الخطوات الموضحة في أمثلة تطبيقات WPF أدناه.

الخطوة 1) في Visual Studio انتقل إلى ملف > مشروع

قم بإنشاء تطبيق WPF الأول الخاص بك

الخطوة 2) في نافذة المشروع الجديد

  1. حدد تطبيق WPF
  2. أدخل الاسم باسم "MyWPF"
  3. انقر OK

قم بإنشاء تطبيق WPF الأول الخاص بك

الخطوة 3) يقوم Visual Studio بإنشاء ملفين بشكل افتراضي

  • ملف XAML (MainWindow.xaml)
  • ملف CS (MainWindow.xaml.cs)

قم بإنشاء تطبيق WPF الأول الخاص بك

يحتوي MainWindow.xaml على

  1. نافذة التصميم
  2. ملف XAML

قم بإنشاء تطبيق WPF الأول الخاص بك

في نوافذ XAML، تتم كتابة العلامات التالية بشكل افتراضي

قم بإنشاء تطبيق WPF الأول الخاص بك

الشبكة هي العنصر الأول افتراضيًا.

يحتوي MainWindow.xaml.cs على الكود المقابل خلف ملف تصميم XAML

قم بإنشاء تطبيق WPF الأول الخاص بك

الخطوة 4) في صندوق الأدوات،

  1. اسحب النصBox عنصر في نافذة التصميم
  2. نصBox سيظهر في نافذة التصميم
  3. سترى رمز XAML للنصBox وأضاف

قم بإنشاء تطبيق WPF الأول الخاص بك

الخطوة 5) قم بتغيير النص إلى "برنامج WPF الأول".

قم بإنشاء تطبيق WPF الأول الخاص بك

الخطوة 6) انقر فوق زر ابدأ

قم بإنشاء تطبيق WPF الأول الخاص بك

الخطوة 7) سترى نافذة في الإخراج

قم بإنشاء تطبيق WPF الأول الخاص بك

تهانينا! لقد قمت بتصميم وإنشاء أول تطبيق WPF الخاص بك. بعد ذلك في هذا البرنامج التعليمي WPF للمبتدئين، سنرى الفرق بين WPF وWinForms.

WPF مقابل WinForms

برنامج الأغذية العالمي WinForms
إنه إطار عمل أحدث، لذا فهو أكثر انسجامًا مع المعايير الحالية. إنه أقدم، لذا فهو أكثر تجريبًا واختبارًا.
إنها مرنة وميزات غنية. يمكنك تصميم تطبيقات غنية جدًا دون الحاجة إلى برمجة أو شراء ضوابط. ليست ميزة غنية جدًا
المطورين 3rd تركز ضوابط الطرف على التوافق مع WPF لأنه المستقبل. هناك العديد من عناصر التحكم التابعة لجهات خارجية والتي يمكنك شراؤها أو الحصول عليها مجانًا.
يسمح لك XAML بإنشاء وتحرير واجهة المستخدم الرسومية الخاصة بك بسهولة. يسمح بتقسيم العمل بين المصمم (XAML) والمبرمج (C#، ASP.net، وما إلى ذلك). In Windows يشكل كل التعليمات البرمجية المكتوبة في مكان واحد.
يمكن لـ WPF إنشاء واجهات مستخدم لكليهما Windows التطبيقات وتطبيقات الويب مثل Silverlight وXBAP. لا يوجد مثل هذا الدعم
مجموعة التحكم الموجودة في صندوق WPF محدودة تعتبر عناصر التحكم الموجودة في الصندوق قوية جدًا

نوع التطبيقات المبنية باستخدام WPF

  • يحاول WPF استبدال نماذج الويب ونماذج Windows - يمكن إنشاء التطبيقات لتشغيلها في متصفح أو نافذة مستقلة
  • Windows يمكن أن تتواجد النماذج وصفحات WPF في نفس التطبيق
  • يمكنك تطوير تطبيقات الصفحة/النافذة

  • النموذج الكامل لـ WPF هو Windows العرض Foundation
  • إنها منصة مثالية للاستخدام إذا كنت بحاجة إلى التعامل مع أنواع الوسائط المختلفة
  • Windows 1.0 كانت أول بيئة واجهة مستخدم رسومية من Microsoft والتي كانت تعمل على نظام DOS وتعتمد على نظامي GDI وUSER
  • يوفر WPF في .NET إمكانية التشغيل المتبادل مع Windows ضوابط النماذج
  • يتم تقسيم WPF إلى أربعة أنواع مختلفة مثل UIElement و FrameworkElement ContentElement و FrameworkContentElement
  • أهم مكونات جزء من بنية WPF هي PresentationFramework و PresentationCore و CLR و Milcore و DirectX و User32 و Kernel
  • WPF هو إطار عمل أحدث يقارن بـ WinForms، لذا فهو أكثر انسجامًا مع المعايير الحالية
  • Windows يمكن أن تتواجد النماذج وصفحات WPF في نفس التطبيق