برنامج 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
- الوثائق والطباعة
- الأمان وإمكانية الوصول والتعريب
- يوفر إمكانية التشغيل المتبادل مع 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 في الشكل الموضح أدناه:
مكونات بنية 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 انتقل إلى ملف > مشروع
الخطوة 2) في نافذة المشروع الجديد
- حدد تطبيق WPF
- أدخل الاسم باسم "MyWPF"
- انقر OK
الخطوة 3) يقوم Visual Studio بإنشاء ملفين بشكل افتراضي
- ملف XAML (MainWindow.xaml)
- ملف CS (MainWindow.xaml.cs)
يحتوي MainWindow.xaml على
- نافذة التصميم
- ملف XAML
في نوافذ XAML، تتم كتابة العلامات التالية بشكل افتراضي
الشبكة هي العنصر الأول افتراضيًا.
يحتوي MainWindow.xaml.cs على الكود المقابل خلف ملف تصميم XAML
الخطوة 4) في صندوق الأدوات،
- اسحب النصBox عنصر في نافذة التصميم
- نصBox سيظهر في نافذة التصميم
- سترى رمز XAML للنصBox وأضاف
الخطوة 5) قم بتغيير النص إلى "برنامج WPF الأول".
الخطوة 6) انقر فوق زر ابدأ
الخطوة 7) سترى نافذة في الإخراج
تهانينا! لقد قمت بتصميم وإنشاء أول تطبيق 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 في نفس التطبيق