أنشاء مشروع جديد ب WPF
إأنشاء مشروع جديد ب WPFلا تختلف بيئة WPF عن بيئة لبرمجة
تحت منصة سي شارب أو فيجوال بيسك . لإنشاء مشروع جديد ليس عليك سوف فتح قائمة ملف
ثم جديد ثم مشروع تم نحدد نوع المشروع من نوع WPF Application . كما في الصورة التالية.
تم الضغط على زر موافق (OK)
ستظهر لنا نافذة المشروع
وواجهة المشروع الرئيسية (MainWindows)كما
في الصورة التالية.
1-
واجهة النموذج المرئية والتي توضع عليها الأدوات .
2-
كود xaml وهو كود التمصيم
ويشبه Xml و أوسمة HTML.
3-
قائمة الأدوات .
4-
قائمة الخصائص والأحداث.
5-
قائمة المشروع.
6-
القائمة المنبثقة نضغط على زر الماوس الأيمن ثم نضغط على
View Code لعرض الكود البرمجي وهو مائة بالمائة مشابه للغة
البرمجية المستخدمة في التطبيقات التقليدية مثل سي شارب أو فيجوال بيسك
الكود لبرمجي
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace Start
{
///
/// Interaction logic for
MainWindow.xaml
///
publicpartialclassMainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
------------------------------------------------------------------------------------------
الكود البرمجي بلغة سي شارب.
----------------------
كود التمصيم بلغة xaml
<Window x:Class="Start.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="البدايةمع Wpf" Height="600" Width="800">
<Grid>
</Grid>
</Window>
-----------------------------------------------------------------------------------------------------------
شرح أوسمة التصميم.
الوسم ويندو
ملاحظة لا حاجة لكتابة الأوسمة فأن مميزات بيئة فيجوال أنه توفر الوقت بذلك عند
إدراج الأدوات عل صفحة النموذج .الوسم ويندو وهو تصريح لانشاء نموذج او صفحة فهو
مشابه بوسمة HTML لانشاء صفحة ويب .x: نعني بهذا اختصار class اسم الفئة
البرمجية التي ستبني وتدمج مع كود التصميم
Start.MainWindow
حيثStart اسم الفضاء الذي يحوي الفئة
MainWindow اسم الفئة وهو الاسم البرمجي للنموذج.
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
أما
فهو استدعاء لمكتبة
التصميم وهذا اسم الفضاء (namespace).
أما هنا يتم تطبيق مكتبة
التصميم على النموذج الذي أنشـأناه
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
حيث x هي اختصار للفئة المستدعاء ويتم تنفيذه وتطبيقه على
النموذج الذي انشاناه كما سبق
x:Class="Start.MainWindow"
ف x تطبق على النموذج
MainWindow.
Titleاسم النموذج
الذي يظهر في الشريط العلوي
Heightارتفاعالنموذج
Widthعرضالنموذج
باقي الخصائص مشابه للتي
في التطبيقات التقليدية مثل Background
,WindowState,Font,…
لاضافة أدوات برمجيا
عن طريق كود Xaml فيجب ان توضع داخل وسم الويندو وداخل وسمي
<Grid>
هنا
تضاف الأدوات مثل مربع نص وزر وغيرها
</Grid>
إضافة زر وشرح بعض خصائصه.
الكود تصميم
<Button Content="زرلعرضرسالةمرحبا" Margin="286,252,341,260" Name="button1" Click="button1_Click" />
Content
هذه الخاصية هي المقابلة لخاصية Text في التطبيقات التقليدية
وهي الاسم الظاهري على الاداة.
Margin وهي خاصية مشابهة تماما لخاصية Margin المستخدمة في HTML وهي المحاذاة وهذا
الخاصية تفيد في حال اردت بناء نموذج تحافظ فيه الاداة على مكانها مهما تغير حجم
النافذة مثلا تريد ان تبقى الاداة في اليمين ما عليك سوى وضع قيمة المحاذاة فقط
لليمين والباقي بقيمة صفر في حال وضعت قيم في اربع الاتجات فعندها حجم الاداة
ستكبر مع تكبير حجم النافذة وتصغر مع تصغير حجم النافذة. يتم المحاذاة بالنسبة
للاداة الحاوية وهي هنا .
في الصورة التالية
الأسهم الظاهرة تعني المحاذاة من جميع الجاهات .
Margin ="يسار-أعلى-يمين-أسفل".
القيم كما في الكود من اليسار الى اليمين تكون القيمة 286 وهي المحاذاة عن اليسار.
بمجرد الضغط على الدائرة في الصورة السابقة يتم المحاذاة وظهور
سهم يشير بالمحاذاة بالنسبة للاداة الحاوية.
الخاصية Name وهي الاسم
البرمجي للاداة والتي ستستخدم في الكود البرمجي.
الحدث Click ويتم انشاءه بثلاث طرق
بالضغط بزر الماوس فوق الاداة مرتين فيتم انشاءه في الكود البرمجي .او من قائمة
الاحداث نبحث عن الحدث Click
ونكتب الاسم او نضغط مرتين . او انشاءه
برمجيا ثم كتابة اسمه في كود التصميم.
كود الحدث البرمجي.
privatevoid button1_Click(object sender, RoutedEventArgs
e)
{
}
كود الحدث في WPF لا يختلف ولكن تغير اسم الباراميتر.
لكتابة رسالة تعرض مرحبا نكتب في حدث الزر
الكود التالي وهو مشابه تماما للكود التقليدي.
privatevoid button1_Click(object sender, RoutedEventArgs
e)
{
MessageBox.Show("مرحبا");
}
رسالة حدث الزر.
في مراحل متقدمة إن شاء الله سنصل بكم لبناء
تطبيق ذات تصميم متقدم كالتالي