Academia.eduAcademia.edu

WPF (Windows Presentation Foundation )

‫‪Eng. Hana Sabbagh‬‬ ‫مقدم عن‪WPF‬‬ ‫‪.NET Framework 4‬‬ ‫)‪Windows Presentation Foundation (WPF‬عبارة عن نظام عرض تقدمي من ا يل‬ ‫التا لب اء تطبيقات العماء ‪ Windows‬ميزات مرئية مبهرة‪ .‬بواسطة ‪ ،WPF‬مك ك إنشاء نطاق واسع‬ ‫من التطبيقات امستقلة وامستضافة على امستعرض‪ .‬على سبيل امثال؛ تطبيق موذج الرعاية الصحية‬ ‫‪ Contoso‬الذي يظهر ي الشكل التا ‪.‬‬ ‫‪1|Page‬‬ ‫‪Eng. Hana Sabbagh‬‬ ‫أساس ‪ WPF‬أنه مشغّل عرض مستقل عن الدقة ومبي على ااستفادة من أجهزة الرسومات ا ديثة‬ ‫‪ .WPF‬وسع اأساس بواسطة جموعة شاملة من ميزات تطوير التطبيق الي تتضمن ‪Extensible‬‬ ‫)‪ ،Application Markup Language (XAML‬ع اصر التحكم‪ ،‬ربط البياات ‪Binding‬‬ ‫أو التخطيط ‪ ،Layout‬رسومات ‪ 3D-2D‬وا رةة‪ ،‬واأماط‪ ،‬والقوالب‪ ،‬وامست دات‪ ،‬والوسائط‪ ،‬وال ص‪،‬‬ ‫وأساليب الطباعة‪ WPF .‬مضم ة ي‪ ،Microsoft .NET Framework‬حيث مك ك إنشاء‬ ‫التطبيقات الي تتضمن الع اصر اأخرى مكتبة الفئة ‪..NET Framework‬‬ ‫الرجة بواسطة ‪)Programming with WPF( WPF‬‬ ‫تعتر ‪ WPF‬ةمجموعة فرعية من أنواع ‪ NET Framework.‬من ا زء اأةر اموجود ي فضاء‬ ‫اأماء ‪.System.Windows‬‬ ‫إذا قمت مسبقاً ب اء تطبيقات بواسطة ‪ .NET Framework‬استخدام تق يات مثل ‪ASP.NET‬‬ ‫و ‪ ،Windows Forms‬فإن اأساسيات الرجية لتق ية ‪ WPF‬ب أن تكون مألوفة؛ من إنشاء مثيل‬ ‫للفئات‪ ،‬وتعين خصائص‪ ،‬وأساليب ااستدعاء‪ ،‬ومعا ة اأحداث‪ ،‬ةل استخدام لغة برجة ‪.NET‬‬ ‫‪ Framework‬امفضلة لديك‪ ،‬مثل ‪ C#‬أو ‪.Visual Basic‬‬ ‫لدعم بعض أةثر قدرات ‪ WPF‬قوة وتبسيط ربة الرجة ي هذ التق ية‪ ،‬تتضمن ‪ WPF‬ثوابت برجة‬ ‫إضافية والي سن ا صائص واأحداث ‪:‬خصائص التبعية وتوجيه اأحداث‪.‬‬ ‫الوسوم والكود اخلفي (‪)Markup and Code-Behind‬‬ ‫‪WPF‬توفر سي ات برجية إضافية لتطبيقات ‪ Windows‬لتطوير تطبيقات العميل‪ .‬إحدى التحسي ات‬ ‫الواضحة هي القدرة على تطوير تطبيق استخدام ةل من الوسوم والكود ا لفي‪ ،‬هذا الشيء ب أن يكون‬ ‫مألوف ال سبة مطوري‪ .ASP.NET‬مك ك استخدام وسوم ‪Extensible Application‬‬ ‫)‪ Markup Language (XAML‬لتصميم واجهات أحد التطبيقات واستخدام لغات الرجة (الكود‬ ‫ا لفي) لت فيذ السلوك ا اص به‪ .‬توي فصل تصميم الواجهات هذا وسلوةها الفوائد التالية‪:‬‬ ‫‪2|Page‬‬ ‫‪Eng. Hana Sabbagh‬‬ ‫‪ ‬يتم تقليل تكاليف التطوير والصيانة أن الوسوم ا اصة بتصميم مظهر التطبيق ابتة ليست مرتبطة‬ ‫بقوة التعليمات الرجية ا اصة السلوك‪.‬‬ ‫‪ ‬التطوير أةثر فعالية أن امصممن مك هم قيق مظهر التطبيق التزامن مع الوقت الذي يقوم فيه‬ ‫امطورين بتطبيق سلوك التطبيق‪.‬‬ ‫‪ ‬مكن استخدام أدوات تصميم متعددة لت فيذ ومشارةة وسوم ‪ XAML‬استهداف متطلبات‬ ‫امسامن ي تطوير التطبيق؛ توفر ‪ Microsoft Expression Blend‬ربة ت اسب‬ ‫امصممن‪ ،‬بي ما قق ‪ Visual Studio‬أهداف امطورين‪.‬‬ ‫فيما يلي مقدمة ختصرة عن وسوم والتعليمات الرجية ا لفية لتق ية‪.‬‬ ‫وضع الوسو‬ ‫تستخدم ‪ XAML‬امست دة إ لغة التوصيف ‪ XML‬ي ت فيذ مظهر أحد التطبيقات‪ .‬يتم عادة استخدامه‬ ‫إنشاء اإطارات‪ ،‬ومربعات ا وار‪ ،‬والصفحات‪ ،‬وع اصر كم امستخدم‪ ،‬ولتعبئتها بع اصر التحكم‪،‬‬ ‫واأشكال والرسومات‪.‬‬ ‫يستخدم امثال التا ‪ XAML‬لتطبيق تصميم إطار توي على زر واحد‪.‬‬ ‫‪XAML‬‬ ‫‪<Window‬‬ ‫"‪xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation‬‬ ‫"‪Title="Window with Button‬‬ ‫>"‪Width="250" Height="100‬‬ ‫>‪<!-- Add button to window --‬‬ ‫>‪<Button Name="button">Click Me!</Button‬‬ ‫>‪</Window‬‬ ‫وبوجه خاص‪ ،‬تعرف وسوم ‪ XAML‬إطار وزر استخدام ع صري ‪ Window‬و ‪ Button‬على‬ ‫التوا ‪ .‬يتم تكوين ةل ع صر بسمات‪ ،‬مثل الع صر ‪ ،Window‬له السمة ‪ Title‬لتعين نص شريط‬ ‫ع وان اإطار‪ .‬ي أث اء وقت تشغيل تطبيق ‪ WPF‬ول الع اصر والسمات الي م تعريفها ي الوسوم مثيات‬ ‫‪3|Page‬‬ ‫‪Eng. Hana Sabbagh‬‬ ‫من فئات ‪ .WPF‬على سبيل امثال‪ ،‬ع صر ‪Window‬يتحول إ مثيل لفئة ‪ Window‬الي‬ ‫خاصيتها ‪Title‬هي قيمة مة ‪.Title‬‬ ‫يظهر الشكل التا واجهة امستخدم )‪ (UI‬امعرفة بواسطة ‪ XAML‬ي امثال السابق‪.‬‬ ‫وأن ‪ XAML‬تعتمد على ‪ XAML‬فإن واجهة امستخدم الي أُنشئت بواسطتها يتم ميعها ي تسلسل‬ ‫هرمي لع اصر متداخلة معروف بشجرة الع صر‪ .‬توفر شجرة الع صر طريقة م طقية وبديهية إنشاء وإدارة‬ ‫واجهات امستخدم‪.‬‬ ‫التع يما البرمجي ‪-‬الخ في‬ ‫السلوك الرئيسي لتطبيق ما هو ي ت فيذ الوظيفة الي يستجيب ها تفاعل امستخدم‪ ،‬ما ي ذلك معا ة‬ ‫اأحداث (على سبيل امثال‪ ،‬ال قر فوق القائمة‪ ،‬أو شريط اأدوات أو الزر) واستدعاء م طق تسلسل العمل‬ ‫‪ Bussines Logic‬وم طق الوصول إ البياات‪ Data Access Logic‬ي ااستجابة‪ .‬ي‪،WPF‬‬ ‫يتم تطبيق هذا السلوك بشكل عام ي التعليمات الرجية امقرنة الوسوم‪ .‬ويعرف هذا ال وع من التعليمات‬ ‫الرجية التعليمات الرجية ا لفية‪ .‬يظهر امثال التا التعليمات الرجية ا لفية احدثة من امثال السابق‪.‬‬ ‫‪XAML‬‬ ‫‪<Window‬‬ ‫"‪xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation‬‬ ‫"‪xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml‬‬ ‫"‪x:Class="SDKSample.AWindow‬‬ ‫"‪Title="Window with Button‬‬ ‫>"‪Width="250" Height="100‬‬ ‫>‪<!-- Add button to window --‬‬ ‫>‪<Button Name="button" Click="button_Click">Click Me!</Button‬‬ ‫>‪</Window‬‬ ‫‪C#‬‬ ‫‪using System.Windows; // Window, RoutedEventArgs, MessageBox‬‬ ‫‪4|Page‬‬ Eng. Hana Sabbagh namespace SDKSample { public partial class AWindow : Window { public AWindow() { // InitializeComponent call is required to merge the UI // that is defined in markup with this class, including // setting properties and registering event handlers InitializeComponent(); } void button_Click(object sender, RoutedEventArgs e) { // Show message box when button is clicked MessageBox.Show("Hello, Windows Presentation Foundation!"); } } } ‫ تستخدم خاصية‬.Window ‫ا لفية بت فيذ فئة تشتق من فئة‬-‫ تقوم التعليمات الرجية‬،‫ي هذا امثال‬ ‫ من اي صف‬InitializeComponent ‫ تستدعى‬.‫ لربط الوسوم مع صف الكود ا لفي‬x:Class .‫الكود ا لفي لدمج واجهة امستخدم امعرفة الوسوم مع صف الكود ا لفي‬ ‫ لكيا تضطر إ قيقه‬،‫ يتم إنشاءها لك ع د ب اء التطبيق ا اص بك‬InitializeComponent( ‫ هيئة صحيحة للتطبيق ا اص بك ع د‬InitializeComponent ‫ و‬x:Class ‫ تضمن ترةيبة‬.ً‫يدوي‬ .‫إنشائه‬ ‫ يُظهر معاج‬،‫ ع د ال قر فوق الزر‬.Click ‫يقوم صف الكود ا لفي أيضاً بتحقيق معاج حدث دث الزر‬ .MessageBox.Show ‫ا دث ص دوق رسالة استدعاء الطريقة‬ .‫يظهر الشكل التا ال تيجة ع د ال قر فوق الزر‬ 5|Page