This article has been localized into Arabic by the community.
النوافذ
عندما تقوم بانشاء تطبيق WPF فان اول شيء تلقاه هو كلاس النافذه. وهو يعمل بمثابة اصل واساس النافذه ويزودك بالحدود , شريط العنوان , وازرار التكبير , التصغير والإغلاق . النافذة في WPF هي عبارة عن مزيج من ملفات XAML الـ بامتداد (.xaml) حيث ان عنصر النافذة >Window< هو الاساس , وكذلك ملف الكود الخلفي بامتداد .cs اذا كنت تستخدم الفيجول ستوديو المجاني Visual Studio (Express) وقمت بانشاء تطبيق WPF فانة سينشىء النافذة الافتراضيه لك , والتي ستبدو كالتالي :
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
</Grid>
</Window>
السمة x:class تخبر ملف XAML أي فئة يستخدمها ، في هذه الحالة Window1 ، الذي أنشأه Visual Studio لنا أيضًا. سوف تجده في شجرة المشروع في VS ، كعقدة فرعية لملف XAML. بشكل افتراضي ، يبدو الأمر كالتالي:
using System;
using System.Windows;
using System.Windows.Controls;
//…more using statements
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
}
}
كما ترون ، تُعرَّف الفئة Window1 على أنها جزئية ، لأنه يتم دمجها مع ملف XAML في وقت التشغيل لإعطائك النافذة الكاملة. هذا هو في الواقع ما تفعله الدعوة إلى InitializeComponent () ، وهذا هو سبب لماذا هي مطلوبة للحصول على نافذة تعمل بكامل طاقتها وتشغيلها.
اذا عدنا الى ملف الXAML , سوف تلاحظ العديد من المميزات مثيرة الاهتمام فى عنصر النافذه , مثل العنوان , الذى يحدد عنوان النافذه ( يظهر فى شريط العنوان) وكذلك بداية العرض والطول. هنالك ايضا العديد من تعريفات الnamespace , التى سنتحدث عنها فى فصل الXAML.
سوف تلاخظ أيضا أن الفيجوال ستوديو أنشأ لنا عنصر تحكم من نوع شبكة (Grid) بداخل النافذة الشبكة هى احدى اللوحات (panels)التى تقدمها (wpf) , وعلي الرغم من انه يمكن ان تختار اي لوحه أو عنصر تحكم ، اطار النافذة لا يمكنه ان يحتوى الا على عنصر تحكم تابع واحد فقط ، لذا فان اللوحة ، والتي بدورها يمكن ان تحتوي علي عناصر تحكم تابعه متعددة ، عاده ما تكون خيارا جيدا. في وقت لاحق في هذا البرنامج التعليمي ، سيكون لدينا نظره عن قرب إلى أنواع مختلفه من اللوحات التي يمكنك استخدامها ، كما انها مهمة جدا في WPF.
خصائص مهمة للنافذة او الاطار(window)
تحتوي فئة نافذة WPF علي مجموعه من السمات المثيرة للاهتمام التي قد تقوم بتعيينها للتحكم في مظهر وسلوك نافذة التطبيق الخاص بك. وهنا قائمه قصيرة من تلك الأكثر أثاره للاهتمام:
Icon-يسمح لك بتحديد أيقونه النافذة ، والتي عاده ما تظهر في أعلى الزاوية اليسرى ، إلى يسار عنوان النافذة
ResizeMode-هذا يتحكم في ما إذا كان يمكن للمستخدم النهائي تغيير حجم النافذة الخاص به وكيف. القيمة الافتراضية هى CanResize ، الذي يسمح للمستخدم بتغيير حجم الإطار مثل اي اطار آخر ، اما باستخدام أزرار تكبير/تصغير أو عن طريق سحب أحد الحواف. فى حال وضع القيمة CanMinimize سيسمح المستخدم لتصغير النافذة ، ولكن ليس لتكبيرها أو السحب للتكبير والتصغير. القيمة NoResize هو الأكثر صرامة ، حيث تتم أزاله تكبير وتصغير الأزرار ولا يمكن سحب النافذة أكبر أو أصغر.
ShowInTaskbar-القيمة الافتراضية true ، ولكن إذا قمت بتعيينه إلى false ، لن يتم تمثيل النافذة الخاص بك في شريط مهام Windows. مفيدفى حالة لنوافذ غير الاساسيه أو التطبيقات التي يجب ان تصغر الى ادنى حد بالنسبة للحاوية.
SizeToContent-تحدد هذه الخاصية ما إذا كان يجب ان تغير النافذة(window)حجمها لاحتواء المحتوي الخاص بها تلقائيا. القيمة الافتراضية Manual ، وهو ما يعني ان الإطار لا يتغير تلقائيا. الخيارات الأخرى هي (Width)العرض و (Height)الارتفاع و (WidthAndHeight)(العرض والارتفاع) ، وكل واحد منهم سوف يضبط تلقائيا حجم الإطار أفقيا ، عموديا أو كليهما.
Topmost-القيمة الافتراضية هي false ، ولكن إذا تم تعيينها إلى true ، سيبقي الإطار او النافذة الخاص بك فوق النوافذ الأخرى ما لم يتم تصغيره. مفيد فقط فى بعض الحالات الخاصة
WindowStartupLocation-يتحكم في الموضع الاولي او الاساسى للنافذة. القيمة الافتراضية هي Manual ، وهو ما يعني ان الإطار سيتم وضعه مبدئيا وفقا لخصائص الأعلى واليسار من الإطار الخاصة بك. الخيارات الأخرى هي اCenterOwne ، والتي سوف تضع النافذة في وسط النافذه التى تحتويها ، و CenterScreen، والتي تضع النافذة في وسط الشاشة
WindowState-يتحكم في حاله الإطار الاولية. يمكن ان يكون اما عادي(Normal) ، او تكبير (Maximized)أو تصغير(Minimized). الافتراضي هو Normal، وهو ما يجب استخدامه الا إذا كنت تريد ان يبدا الإطار الخاص بك اما Maximizedأو Minimized.
هناك الكثير من السمات الأخرى أيضا ، لذا ألق نظرة لنفسك ومن ثم انتقل إلى الفصل التالي