الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مقدمة إلى Xaml

مغلق
بدأه عبد الكريم كنعان في 29 نوفمبر 2007 · 5 رد · 1,573 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مقدمة إلى XAML

Introduction to XAML

مقدمة: إن XAML هي اختصار Extensible Application Markup Language حيث تلفظ (XAML) بـ Zamel، وهي تستخدم من أجل بناء واجهات لتطبيقات .NET في الويندوز Vista ولكن يمكن استخدامها مه ويندوز XP وويندوز Server 2003، أتت XAML من أجل الفصل بين واجهات المستخدم والكود مثل ASP.NET حيث يمكنك وضع (كودات) ASP.NET في ملف والكود التنفيذي (مثلا C# أو VB) في ملف آخر، عندما يتم ترجمة ملفات XAML فإنها تترجم إلى BAML حيث أنها مشاهة إلى XAML ولكنها أسهل للقراءة وبالتالي هي أسرع في التنفيذ.

دعنا الان عزيزي المبرمج نكتب سويا أول برنامج في XAML.

كتابة أول برنامج في الـ XAML:

1.من قائمة File --> New --> Project

post-37886-1196316042_thumb.jpg

2.ثم من Visual C# --> Windows --> نختار نوع المشروع WPF Application كما هو موضح بالشكل

post-37886-1196316056_thumb.jpg

3.اكتب الكود التالي في نافذة XAML:

<StackPanel>
	<Label 
		HorizontalAlignment="Center" 
		FontSize="33">
		أدخل اسمك
	</Label>
	<TextBox Name="MyTextBox"
		Width="200"
		Height="30"
		Margin="40" />
	<Button Click="ButtonClickHandler"
		Width="100"
		Height="40"
		FontSize="20">
		إنقر هنا!
	</Button>
</StackPanel>

4.ولا تنسى كتابة كود حدث النقر للزر (وذلك بالنقر المزدوج على الزر مباشرة):

private void ButtonClickHandler(object sender, RoutedEventArgs e)
{
	MessageBox.Show(string.Format("أهلا بك يا: '{0}'", MyTextBox.Text), "XAML");
}

سينتج لديك الشكل التالي:

post-37886-1196316080_thumb.jpg

5.نفذ البرنامج ليظهر لك الشكل:

post-37886-1196316096_thumb.jpg

ملاحظات:

عندما تنشئ برنامج جديد ستلاحظ بعض عناصر XAML مكتوبة في نافذة XAML، مثل <Window /> وهو يمثل عنصر الجذر.

العنصر <StackPanel> هو عبارة عن عنصر من عناصر XAML يمكننا من إدراج عناصر أخرى بداخله.

ملاحظة: ليس من الضروري في الـ XAML وضع أسماء للعناصر، فمثلا: العنصر <Label> في المثال السابق لم نقم بتحديد قيمة للخاصة Name وذلك لأنني لا أود الوصول لهذا النعصر برمجيا، مما يتيح لي اختصار كود XAML، أما إذا أردت التمكن من الوصول لهذا العنصر برمجيا فعندها أعطي قيمة للعنصر، مثل عنصر <TextBox> في المثال السابق.

إذا أردت كتابة كود C# أو VB.NET في نفس ملف XAML، وليكن أني أود كتابة شيفرة الحدث السابق في نفس الملف أكتب ما يلي:

<x:Code>
	<![CDATA[
		void ButtonClickHandler(object sender, RoutedEventArgs e)
		{
			MessageBox.Show
				(string.Format("أهلا بك يا: '{0}'", MyTextBox.Text), "XAML");		}
	]]>
</x:Code>

تكتب الشيفرة السابقة بعد إغلاق العنصر </StackPanel> كما هو موضح بالشكل:

post-37886-1196316117_thumb.jpg

البرنامج في المرفقات

وشكرا،،

FirstApplicationWPF.zip

تم تعديل هذه المشاركة بواسطة عبد الكريم كنعان في 29 نوفمبر 2007 في 09:11

#2

السلام عليكم

اخي الكريم

سوال : هل Xaml

هي زي XMl

او مطوره عنها ؟؟؟؟

او شي ثاني ؟؟؟

وماذا تعني بـــ

(من أجل الفصل بين واجهات المستخدم والكود)

:ty:

#3

مشكور كتير أخي كنعان

بس عندي سؤال هل ممكن نعمل هاي الشغلات في الفيجوال بيسك

لإنك شجعتني كتير أتعلمها وأنا ما بعرف C#

تحياتي

#4

مرحبا،،

بالنسبة للأخ y85.fox أعلم أنها تشبه كثيرا الـ XML من ناحية شكل الكود ولكن هذه اللغة توصيفية لبرامج WPF) Windows Presentation Foundation)

أعني بالفصل بين واجهات المستخدم والكود، مثل لغة ASP.NET يمكن كتابة كود الـ ASP.NET في ملف مستقل عن الملف الذي يحوي سواء كود C# أو VB.NET

بالنسبة للأخ خلدون خالد2 طبعا يمكن تطبيق هذا الكلام على VB.NET 9

وشكرا

#5

السلام عليكم

شكرا أخي عبد الكريم على إضافتك ومواضيعك المتميزة. آمل أن لا تحرمنا من المزيد.

حاولت تتبع المثال لكن ليس لدي إمكانية إنشاء هذا النوع من التطبيقات. علما أني أستعملvisula studio 2005 version 8.0....

post-91400-1196360241_thumb.jpg

هل هذا يعود لإصدار الفيزوال ستوديو أم ينبغي تنصيب ال Framework 3.5أم ماذا؟

#6

وعليكم السلام ورحمة الله وبركاته

سررت أخ بن العيد لمرورك على الموضوع أولا التطبيق الذي قمت بتطبيقه على بيئة Visual Studio 2008 Beta2 مع العلم أن مايكروسوفت قد أطلقت العنان للنسخة النهائية ولكن تعلم عندنا ننتظر حتى تنزل نسخة مكسورة حتى نشتريها.

أما بالنسبة للعلمل على بيئة Visual Studio 2005

فعليك أولا أن تكون قد نصبت Framework 3.0

ثم تقوم بإضافة هذه الميزة إلى بيئة Visual Studio 2005 وذلك بتحميل الملف من الرابط التالي :

http://www.microsoft.com/downloads/details...;displaylang=en

وشكرا

هذا الموضوع مغلق.

مواضيع مشابهة