21-10-12, 01:46 PM
Data Binding :
اغلبية الانظمة والمشاريع انشئت من اجل توفير كافة الوسائل للمستخدمين لعرض وتعديل البيانات
هنالك تقنيات عديدة تعمل على جلب وخزن وادارة البيانات مثل Oracle,SQL Server,ADO.NET وغيرها
كما يمكن خزن البيانات على اشكال عدة XML,Text
ويبدا عمل WPF بعد جلب البيانات من أي مصدر حيث تعمل على
1- نسخ البيانات التى تم جلبها من مصدر البيانات الى الاداة التى ستقوم بعرض تلك البيانات مع امكانية تعديلها
2- ضمان تعديل البيانات على المصدرData object بعد ان يتم تعديلها بالادوات المتصله معها
ولتبسيط تطوير المشاريع المتصله بمصادر بيانات تمتلك WPF وسائل تقوم بعمل هذة الخطوات بشكل سريع وتلقائي ونواه هذا الوسائل الكائن Binding class وعملة وصل الادوات Controls(the binding target) بمصادر البيانات Data objects (the binding source)
كما ان تقنية WPF جائت بحلول كثيرة في جانب ارتباط User Interface(UI) بمصادر البيانات
وسنتعرف على Data Binding وكيفية استخدام Data Grid لعرض وتعديل البيانات في درس خاص بذلك
اما الان سوف نقوم بعمل الامثله
مثال 1 : Binding from property of class
قم بانشاء مشروع WPF Application جديد ثم انشئ Class جديد اسمية Web واضف هذا الكود
الان قم بالدخول الى شاشة الكود الخاصة بال بالنافذة وفي وفي الحدث Window_Loaded قم بكتابة هذا الكود
الان عد الى محرر XAML للنافذة التنفيذ وقم باضافة هذا الكود
مثال 2 : Binding from StaticResource
قم بانشاء مشروع WPF Application جديد وفي محرر XAML للنافذة التنفيذ اضاف هذا الكود
مثال 3 : Binding from property of control
قم بانشاء مشروع WPF Application جديد وفي محرر XAML للنافذة التنفيذ اضاف هذا الكود
قم بتنفيذ المثال
Graphics :
WPF يقدم مزايا رسومية توصف بالشمول وقابلية التوسع والمرونة وتعتبر WPF منافس حقيقى امام Flash والبرامج الرسومية وتحريك الصور (Animation) الاخرى وهذة المزايا تتمتلك هذا الفوائد :
• Resolution-independent and device-independent graphics.
• Improved precision.
• Advanced graphics and animation support.
• Hardware acceleration.
2-D Shapes
WPF توفر مكتبة من vector-drawn 2-D لرسم الاشكال مثل الدوائر والمربعات والمثلثات وغيرها
وهذة الاشكال والرسومات ليست للعرض فقط بل يمكن اضافة احداث لها فتعتبر كالادوات
مثال :
قم بانشاء مشروع WPF Application جديد وفي محرر XAML للنافذة التنفيذ اضاف هذا الكود
وفي نافذة الكود قم باضافة هذا الحدث
2-D Geometries
توفر WPF مجموعه من الاشكال الرسومية 2-D البسيطة ولكن كل شخص يريد رسم اشكاله الخاصه لما يتوافق مع الواجهه التى يصممها لذلك قدمت WPF ما يعرف بالهندسيات geometries لتمكينك من انشاء كل ما تريد من الاشكال كالرسم بشكل مباشر او عمل فرشاة او عمل Clip لشكل او اداة معينة
وباستخدام هذين الكائنين Path, Geometry يمكنك رسم اي شكل تريد
2-D Effects
مجموعه جزئية من قدرات WPF الرسومية 2-D متظمنة التاثيرات البصرية مثل :
gradients, bitmaps, drawings, painting with videos, rotation, scaling, and skewing
كلها منجزة بواسطة brushes
3-D Rendering
WPF ايضا يتضمن قدرات العرض ثلاثي البعد 3-D rendering متندمج في ذلك مع الرسم الثنائي 2-D ليسمح بانشاء اكثر اثارة ومتعه لواجهات العرض
مثلا هذة الصورة تظهر صور ثنائية البعد تكسي اشكال ثلاثية البعد
حمل المثال من هنا 3-D Solids Sample
لانشاء الاشكال ثلاثية البعد يمكنك استخدام برنامج ZAM3D ثم عمل حفظ للشكل بامتداد XAML
Animation :
WPF لدية امكانيات تحريك الرسومات او ما يعرف Animation كجعل اداة مثلا تكبر وتصغر او تلتف او تهتز او تدور او تتلاشئ فيمكنك انشاء مقاطع ممتعه على هذة الشاكلة ويمكن عمل تحريك رسومي لمعظم كلاسات WPF شاهد هذة الصورة
Media :
Images
تعتبر برامج عرض الصور من البرامج الشائعة وتقنية WPF توفر الكثير من الطرق لعرض واستخدام الصور
شاهد هذة الصورة
Video and Audio
الاداة MediaElement قادرة على تشغيل كلا من الصوتيات والفديو ومرنة بما فية الكفاية لتكون اساس لمشاريع تشغيل الصوت او الفديو
هذا هو كود XAML الخاص باضافة الاداة
Text and Typography
توفر WPF عرض عالي الجودة للنصوص وتمتلك عدة مزايا لذلك
• OpenType font support .
• ClearType enhancements .
• High performance that takes advantage of hardware acceleration .
• Integration of text with media, graphics, and animation .
• International font support and fallback mechanisms .
شاهد هذة الصورة
Documents :
WPF يمتلك ويدعم ثلاثة انواع من المستندات
• Flow documents
• Fixed documents
• XML Paper Specification (XPS) documents
ايضا WPF يدعم انشاء وعرض وادارة وتحزيم وانشاء التلميحات وطباعة المستندات
Flow Documents
تم تصميم المستند التدفقي او الانسيابي لايجاد افضل الحلول لجعل عرض المستند تكيفي وديناميكي مع حجم النافذة و تغير اعدادات العرض
باعادة تحجم محتوى المستند(Content) وذلك كله من اجل وعرض واضح وقرائة جيدة
مثال 1 :
مثال 2 :
هذا المثال يقوم بتحميل FlowDocument من ملف XAML محفوظ مسبقا
في الملف SampleDoc.xaml قم بكتابة الكود الموضح بالمثال 1
سيكون العرض على هذا الشكل
Fixed Documents
المستند الثابت تم اعدادة للانظمة التى تتطلب عرض دقيق وعلى وجه الخصوص تلك المراد طباعتها
فتكون مقاسات العرض الظاهر مساوية لمقاسات الطباعة what you see is what you get
والاستعملات المثالية للمستندات الثابته تتضمن النشر المكتبي ومعالجة النصوص وتخطيط النماذج
فالتمسك بالتصميم الاصلي للصفحة مهم .
فتحافظ المستندات الثابتة على الترتيب الدقيق لمحتواها على نهج وحدة مستقلة .
XPS Documents
XML Paper Specification (XPS) مستند مبني على مبدا المستندات الثابتة الخاصه ب WPF
و تعتبر وصف لمخططات XML-based تعرض صفحات ثابتة المحتوى بشكل صفحات الكترونية
و تعمل مستندات XPS على تسهيل انشاء ومشاركة وطباعة المستندات ثابتة المحتوى
وتبين هذة الصورة مستند XPS معروضا بواسطة DocumentViewer
حمل المثال من هنا الامثلة التى ستوضح كيفية انشاء وعرض مستندات XPS
ومن امثلة البرمجيات المعدة باستخدام WPF :
Yahoo! Messenger
http://messenger.yahoo.com/platform/win
Contoso Healthcare Sample Application
http://windowsclient.net/downloads/f...entry3754.aspx
Asahiyama Zoo
http://www.asahiyamazoo-aict.jp/asahiyamazoo.xbap
مدير المخازن من برمجتي web-based application :
وكل ما ترونة مبرمج باكواد XAML ولا يوجد صور الا ايقونات Button
مشروع تخرجي SMS News - standalone application
انتهى
-------------
بالنسبة Microsoft Expression Blend 2
http://www.microsoft.com/expression/ رابط الموقع
اتمنى يكون نقاش مثمر وعائد بما نرجوة
اغلبية الانظمة والمشاريع انشئت من اجل توفير كافة الوسائل للمستخدمين لعرض وتعديل البيانات
هنالك تقنيات عديدة تعمل على جلب وخزن وادارة البيانات مثل Oracle,SQL Server,ADO.NET وغيرها
كما يمكن خزن البيانات على اشكال عدة XML,Text
ويبدا عمل WPF بعد جلب البيانات من أي مصدر حيث تعمل على
1- نسخ البيانات التى تم جلبها من مصدر البيانات الى الاداة التى ستقوم بعرض تلك البيانات مع امكانية تعديلها
2- ضمان تعديل البيانات على المصدرData object بعد ان يتم تعديلها بالادوات المتصله معها
ولتبسيط تطوير المشاريع المتصله بمصادر بيانات تمتلك WPF وسائل تقوم بعمل هذة الخطوات بشكل سريع وتلقائي ونواه هذا الوسائل الكائن Binding class وعملة وصل الادوات Controls(the binding target) بمصادر البيانات Data objects (the binding source)
كما ان تقنية WPF جائت بحلول كثيرة في جانب ارتباط User Interface(UI) بمصادر البيانات
وسنتعرف على Data Binding وكيفية استخدام Data Grid لعرض وتعديل البيانات في درس خاص بذلك
اما الان سوف نقوم بعمل الامثله
مثال 1 : Binding from property of class
قم بانشاء مشروع WPF Application جديد ثم انشئ Class جديد اسمية Web واضف هذا الكود
كود :
[color=#000000][COLOR=#007700]Class [/color][COLOR=#0000bb]Web
[/COLOR][color=#007700]Private [/color][color=#0000bb]_MY_Web [/color][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][COLOR=#dd0000]"WWW.VB4ARAB.COM"
[/COLOR][color=#007700]Public [/color][color=#0000bb]Property MY_Web[/color][color=#007700]() As [/color][COLOR=#0000bb]String
Get
[/COLOR][color=#007700]Return [/color][COLOR=#0000bb]_MY_Web
End Get
Set[/COLOR][color=#007700]([/color][color=#0000bb]ByVal value [/color][color=#007700]As [/color][color=#0000bb]String[/color][COLOR=#007700])
[/COLOR][color=#0000bb]_MY_Web [/color][color=#007700]= [/color][COLOR=#0000bb]value
End Set
End Property
End [/COLOR][COLOR=#007700]Class
[/COLOR][/COLOR]الان قم بالدخول الى شاشة الكود الخاصة بال بالنافذة وفي وفي الحدث Window_Loaded قم بكتابة هذا الكود
كود :
[color=#000000][COLOR=#007700]Private [/color][color=#0000bb]Sub Window1_Loaded[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]Object[/color][color=#007700], [/color][COLOR=#0000bb]ByVal e _
[/COLOR][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]RoutedEventArgs[/color][color=#007700]) [/color][color=#0000bb]Handles Me[/color][color=#007700].[/color][COLOR=#0000bb]Loaded
Dim web [/COLOR][color=#007700]As [/color][color=#0000bb]Web [/color][color=#007700]= New [/color][color=#0000bb]Web[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]Make data source available [/color][color=#007700]for [/color][COLOR=#0000bb]binding
Me[/COLOR][color=#007700].[/color][color=#0000bb]DataContext [/color][color=#007700]= [/color][COLOR=#0000bb]web
End Sub
[/COLOR][/COLOR]الان عد الى محرر XAML للنافذة التنفيذ وقم باضافة هذا الكود
كود :
[color=#000000][COLOR=#007700]<[/color][color=#0000bb]Window x[/color][color=#007700]:Class=[/color][COLOR=#dd0000]"Window1"
[/COLOR][color=#0000bb]xmlns[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
[/COLOR][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]x[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml"
[/COLOR][color=#0000bb]Title[/color][color=#007700]=[/color][color=#dd0000]"Window1" [/color][color=#0000bb]Height[/color][color=#007700]=[/color][color=#dd0000]"300" [/color][color=#0000bb]Width[/color][color=#007700]=[/color][color=#dd0000]"300"[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]Grid[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]TextBox Text[/color][color=#007700]=[/color][color=#dd0000]"{Binding Path=MY_Web}" [/color][COLOR=#007700]/>
</[/COLOR][color=#0000bb]Grid[/color][COLOR=#007700]>
</[/COLOR][color=#0000bb]Window[/color][COLOR=#007700]>
[/COLOR][/COLOR]مثال 2 : Binding from StaticResource
قم بانشاء مشروع WPF Application جديد وفي محرر XAML للنافذة التنفيذ اضاف هذا الكود
كود :
[color=#000000][COLOR=#007700]<[/color][color=#0000bb]Window x[/color][color=#007700]:Class=[/color][COLOR=#dd0000]"Window1"
[/COLOR][color=#0000bb]xmlns[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
[/COLOR][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]x[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml"
[/COLOR][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]sys[/color][color=#007700]=[/color][COLOR=#dd0000]"clr-namespace:System;assembly=mscorlib"
[/COLOR][color=#0000bb]Title[/color][color=#007700]=[/color][color=#dd0000]"Window1" [/color][color=#0000bb]Height[/color][color=#007700]=[/color][color=#dd0000]"300" [/color][color=#0000bb]Width[/color][color=#007700]=[/color][color=#dd0000]"300"[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]Window[/color][color=#007700].[/color][color=#0000bb]Resources[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]ObjectDataProvider x[/color][color=#007700]:[/color][color=#0000bb]Key[/color][color=#007700]=[/color][COLOR=#dd0000]"DayValues"
[/COLOR][color=#0000bb]MethodName[/color][color=#007700]=[/color][COLOR=#dd0000]"GetValues"
[/COLOR][color=#0000bb]ObjectType[/color][color=#007700]=[/color][color=#dd0000]"{x:Type sys:Enum}"[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]ObjectDataProvider[/color][color=#007700].[/color][color=#0000bb]MethodParameters[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]x[/color][color=#007700]:[/color][color=#0000bb]Type TypeName[/color][color=#007700]=[/color][color=#dd0000]"sys:DayOfWeek" [/color][COLOR=#007700]/>
</[/COLOR][color=#0000bb]ObjectDataProvider[/color][color=#007700].[/color][color=#0000bb]MethodParameters[/color][COLOR=#007700]>
</[/COLOR][color=#0000bb]ObjectDataProvider[/color][COLOR=#007700]>
</[/COLOR][color=#0000bb]Window[/color][color=#007700].[/color][color=#0000bb]Resources[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]StackPanel[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]Label Height[/color][color=#007700]=[/color][COLOR=#dd0000]"25"
[/COLOR][color=#0000bb]Content[/color][color=#007700]=[/color][color=#dd0000]'{Binding ElementName=_days,Path=SelectedValue}' [/color][COLOR=#007700]/>
<[/COLOR][color=#0000bb]ComboBox x[/color][color=#007700]:[/color][color=#0000bb]Name[/color][color=#007700]=[/color][COLOR=#dd0000]"_days"
[/COLOR][color=#0000bb]ItemsSource[/color][color=#007700]=[/color][COLOR=#dd0000]"{Binding Source={StaticResource DayValues}}"
[/COLOR][color=#0000bb]SelectedValue[/color][color=#007700]=[/color][COLOR=#dd0000]"{x:Static sys:DayOfWeek.Sunday}"
[/COLOR][color=#0000bb]Height[/color][color=#007700]=[/color][color=#dd0000]"25" [/color][color=#0000bb]VerticalAlignment[/color][color=#007700]=[/color][color=#dd0000]"Center" [/color][COLOR=#007700]/>
</[/COLOR][color=#0000bb]StackPanel[/color][COLOR=#007700]>
</[/COLOR][color=#0000bb]Window[/color][COLOR=#007700]>
[/COLOR][/COLOR]مثال 3 : Binding from property of control
قم بانشاء مشروع WPF Application جديد وفي محرر XAML للنافذة التنفيذ اضاف هذا الكود
كود :
[color=#000000][COLOR=#007700]<[/color][color=#0000bb]Window x[/color][color=#007700]:Class=[/color][COLOR=#dd0000]"Window1"
[/COLOR][color=#0000bb]xmlns[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
[/COLOR][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]x[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml"
[/COLOR][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]sys[/color][color=#007700]=[/color][COLOR=#dd0000]"clr-namespace:System;assembly=mscorlib"
[/COLOR][color=#0000bb]Title[/color][color=#007700]=[/color][color=#dd0000]"Window1" [/color][color=#0000bb]Height[/color][color=#007700]=[/color][color=#dd0000]"300" [/color][color=#0000bb]Width[/color][color=#007700]=[/color][color=#dd0000]"300" [/color][color=#0000bb]FontSize[/color][color=#007700]=[/color][color=#dd0000]"16"[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]StackPanel[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]TextBox x[/color][color=#007700]:[/color][color=#0000bb]Name[/color][color=#007700]=[/color][color=#dd0000]'textBox1' [/color][color=#0000bb]Text[/color][color=#007700]=[/color][color=#dd0000]"المخلب الجارح" [/color][COLOR=#007700]/>
<[/COLOR][color=#0000bb]Label Margin[/color][color=#007700]=[/color][color=#dd0000]'5' [/color][color=#0000bb]Content[/color][color=#007700]=[/color][color=#dd0000]'{Binding ElementName=textBox1,Path=Text}' [/color][COLOR=#007700]/>
</[/COLOR][color=#0000bb]StackPanel[/color][COLOR=#007700]>
</[/COLOR][color=#0000bb]Window[/color][COLOR=#007700]>
[/COLOR][/COLOR]قم بتنفيذ المثال
Graphics :
WPF يقدم مزايا رسومية توصف بالشمول وقابلية التوسع والمرونة وتعتبر WPF منافس حقيقى امام Flash والبرامج الرسومية وتحريك الصور (Animation) الاخرى وهذة المزايا تتمتلك هذا الفوائد :
• Resolution-independent and device-independent graphics.
• Improved precision.
• Advanced graphics and animation support.
• Hardware acceleration.
2-D Shapes
WPF توفر مكتبة من vector-drawn 2-D لرسم الاشكال مثل الدوائر والمربعات والمثلثات وغيرها
وهذة الاشكال والرسومات ليست للعرض فقط بل يمكن اضافة احداث لها فتعتبر كالادوات
مثال :
قم بانشاء مشروع WPF Application جديد وفي محرر XAML للنافذة التنفيذ اضاف هذا الكود
كود :
[color=#000000][COLOR=#007700]<[/color][COLOR=#0000bb]Window
xmlns[/COLOR][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
[/COLOR][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]x[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml"
[/COLOR][color=#0000bb]x[/color][color=#007700]:Class=[/color][color=#dd0000]"Window1" [/color][color=#0000bb]Height[/color][color=#007700]=[/color][color=#dd0000]"200" [/color][color=#0000bb]Width[/color][color=#007700]=[/color][COLOR=#dd0000]"200"
[/COLOR][color=#0000bb]Title[/color][color=#007700]=[/color][color=#dd0000]"Click the Ellipse"[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]Ellipse Name[/color][color=#007700]=[/color][color=#dd0000]"clickableEllipse" [/color][color=#0000bb]Fill[/color][color=#007700]=[/color][color=#dd0000]"Blue" [/color][color=#0000bb]MouseUp[/color][color=#007700]=[/color][color=#dd0000]"clickableEllipse_MouseUp" [/color][COLOR=#007700]/>
</[/COLOR][color=#0000bb]Window[/color][COLOR=#007700]>
[/COLOR][/COLOR]وفي نافذة الكود قم باضافة هذا الحدث
كود :
[color=#000000][COLOR=#007700]Private [/color][color=#0000bb]Sub clickableEllipse_MouseUp[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]Object[/color][color=#007700], [/color][COLOR=#0000bb]ByVal e _
[/COLOR][color=#007700]As [/color][color=#0000bb]MouseButtonEventArgs[/color][COLOR=#007700])
[/COLOR][color=#0000bb]MessageBox[/color][color=#007700].[/color][color=#0000bb]Show[/color][color=#007700]([/color][color=#dd0000]"You clicked the ellipse!"[/color][COLOR=#007700])
[/COLOR][COLOR=#0000bb]End Sub
[/COLOR][/COLOR]2-D Geometries
توفر WPF مجموعه من الاشكال الرسومية 2-D البسيطة ولكن كل شخص يريد رسم اشكاله الخاصه لما يتوافق مع الواجهه التى يصممها لذلك قدمت WPF ما يعرف بالهندسيات geometries لتمكينك من انشاء كل ما تريد من الاشكال كالرسم بشكل مباشر او عمل فرشاة او عمل Clip لشكل او اداة معينة
وباستخدام هذين الكائنين Path, Geometry يمكنك رسم اي شكل تريد
2-D Effects
مجموعه جزئية من قدرات WPF الرسومية 2-D متظمنة التاثيرات البصرية مثل :
gradients, bitmaps, drawings, painting with videos, rotation, scaling, and skewing
كلها منجزة بواسطة brushes
3-D Rendering
WPF ايضا يتضمن قدرات العرض ثلاثي البعد 3-D rendering متندمج في ذلك مع الرسم الثنائي 2-D ليسمح بانشاء اكثر اثارة ومتعه لواجهات العرض
مثلا هذة الصورة تظهر صور ثنائية البعد تكسي اشكال ثلاثية البعد
حمل المثال من هنا 3-D Solids Sample
لانشاء الاشكال ثلاثية البعد يمكنك استخدام برنامج ZAM3D ثم عمل حفظ للشكل بامتداد XAML
Animation :
WPF لدية امكانيات تحريك الرسومات او ما يعرف Animation كجعل اداة مثلا تكبر وتصغر او تلتف او تهتز او تدور او تتلاشئ فيمكنك انشاء مقاطع ممتعه على هذة الشاكلة ويمكن عمل تحريك رسومي لمعظم كلاسات WPF شاهد هذة الصورة
Media :
Images
تعتبر برامج عرض الصور من البرامج الشائعة وتقنية WPF توفر الكثير من الطرق لعرض واستخدام الصور
شاهد هذة الصورة
Video and Audio
الاداة MediaElement قادرة على تشغيل كلا من الصوتيات والفديو ومرنة بما فية الكفاية لتكون اساس لمشاريع تشغيل الصوت او الفديو
هذا هو كود XAML الخاص باضافة الاداة
كود :
[color=#000000][COLOR=#007700]<[/color][COLOR=#0000bb]MediaElement
Name[/COLOR][color=#007700]=[/color][COLOR=#dd0000]"myMediaElement"
[/COLOR][color=#0000bb]Source[/color][color=#007700]=[/color][COLOR=#dd0000]"sample.wmv"
[/COLOR][color=#0000bb]LoadedBehavior[/color][color=#007700]=[/color][COLOR=#dd0000]"Manual"
[/COLOR][color=#0000bb]Width[/color][color=#007700]=[/color][color=#dd0000]"350" [/color][color=#0000bb]Height[/color][color=#007700]=[/color][color=#dd0000]"250" [/color][COLOR=#007700]/>
[/COLOR][/COLOR]Text and Typography
توفر WPF عرض عالي الجودة للنصوص وتمتلك عدة مزايا لذلك
• OpenType font support .
• ClearType enhancements .
• High performance that takes advantage of hardware acceleration .
• Integration of text with media, graphics, and animation .
• International font support and fallback mechanisms .
شاهد هذة الصورة
Documents :
WPF يمتلك ويدعم ثلاثة انواع من المستندات
• Flow documents
• Fixed documents
• XML Paper Specification (XPS) documents
ايضا WPF يدعم انشاء وعرض وادارة وتحزيم وانشاء التلميحات وطباعة المستندات
Flow Documents
تم تصميم المستند التدفقي او الانسيابي لايجاد افضل الحلول لجعل عرض المستند تكيفي وديناميكي مع حجم النافذة و تغير اعدادات العرض
باعادة تحجم محتوى المستند(Content) وذلك كله من اجل وعرض واضح وقرائة جيدة
مثال 1 :
كود :
[color=#000000][COLOR=#007700]<[/color][color=#0000bb]FlowDocument xmlns[/color][color=#007700]=[/color][color=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml/presentation"[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]Paragraph FontSize[/color][color=#007700]=[/color][color=#dd0000]"18" [/color][color=#0000bb]FontWeight[/color][color=#007700]=[/color][color=#dd0000]"Bold"[/color][color=#007700]>[/color][color=#0000bb]Flow Document[/color][color=#007700]</[/color][color=#0000bb]Paragraph[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]Paragraph[/color][COLOR=#007700]>
[/COLOR][color=#0000bb]Lorem ipsum dolor sit amet[/color][color=#007700], [/color][color=#0000bb]consectetuer adipiscing elit[/color][color=#007700], [/color][COLOR=#0000bb]sed diam nonummy
nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat[/COLOR][color=#007700]. [/color][COLOR=#0000bb]Ut wisi
enim ad minim veniam[/COLOR][color=#007700], [/color][COLOR=#0000bb]quis nostrud exerci tation ullamcorper suscipit lobortis
nisl ut aliquip ex ea commodo consequat[/COLOR][color=#007700]. [/color][color=#0000bb]Duis autem vel eum iriure[/color][COLOR=#007700].
</[/COLOR][color=#0000bb]Paragraph[/color][COLOR=#007700]>
</[/COLOR][color=#0000bb]FlowDocument[/color][COLOR=#007700]>
[/COLOR][/COLOR]مثال 2 :
هذا المثال يقوم بتحميل FlowDocument من ملف XAML محفوظ مسبقا
كود :
[color=#000000][COLOR=#007700]<!--[/color][color=#0000bb]XAML[/color][COLOR=#007700]-->
<[/COLOR][color=#0000bb]Window x[/color][color=#007700]:Class=[/color][COLOR=#dd0000]"Window1"
[/COLOR][color=#0000bb]xmlns[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
[/COLOR][color=#0000bb]xmlns[/color][color=#007700]:[/color][color=#0000bb]x[/color][color=#007700]=[/color][COLOR=#dd0000]"http://schemas.microsoft.com/winfx/2006/xaml"
[/COLOR][color=#0000bb]Title[/color][color=#007700]=[/color][color=#dd0000]"Window1" [/color][color=#0000bb]Height[/color][color=#007700]=[/color][color=#dd0000]"200" [/color][color=#0000bb]Width[/color][color=#007700]=[/color][color=#dd0000]"400"[/color][COLOR=#007700]>
<[/COLOR][color=#0000bb]FlowDocumentReader Name[/color][color=#007700]=[/color][color=#dd0000]"flowDocumentReader" [/color][COLOR=#007700]/>
</[/COLOR][color=#0000bb]Window[/color][COLOR=#007700]>
[/COLOR][COLOR=#0000bb]VB
[/COLOR][color=#007700]Private [/color][color=#0000bb]Sub Window1_Loaded[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]Object[/color][color=#007700], [/color][COLOR=#0000bb]ByVal e _
[/COLOR][color=#007700]As [/color][color=#0000bb]System[/color][color=#007700].[/color][color=#0000bb]Windows[/color][color=#007700].[/color][color=#0000bb]RoutedEventArgs[/color][color=#007700]) [/color][color=#0000bb]Handles Me[/color][color=#007700].[/color][COLOR=#0000bb]Loaded
Using stream1 [/COLOR][color=#007700]As [/color][color=#0000bb]IO[/color][color=#007700].[/color][color=#0000bb]FileStream [/color][color=#007700]= New [/color][color=#0000bb]IO[/color][color=#007700].[/color][color=#0000bb]FileStream[/color][color=#007700]([/color][color=#dd0000]"C:\SampleDoc.xaml"[/color][color=#007700], [/color][COLOR=#0000bb]_
IO[/COLOR][color=#007700].[/color][color=#0000bb]FileMode[/color][color=#007700].[/color][color=#0000bb]Open[/color][color=#007700], [/color][color=#0000bb]IO[/color][color=#007700].[/color][color=#0000bb]FileAccess[/color][color=#007700].[/color][color=#0000bb]Read[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Dim document1 [/color][color=#007700]As [/color][color=#0000bb]FlowDocument [/color][color=#007700]= [/color][COLOR=#0000bb]_
TryCast[/COLOR][color=#007700]([/color][color=#0000bb]XamlReader[/color][color=#007700].[/color][color=#0000bb]Load[/color][color=#007700]([/color][color=#0000bb]stream1[/color][color=#007700]), [/color][color=#0000bb]FlowDocument[/color][COLOR=#007700])
[/COLOR][color=#0000bb]Me[/color][color=#007700].[/color][color=#0000bb]flowDocumentReader[/color][color=#007700].[/color][color=#0000bb]Document [/color][color=#007700]= [/color][COLOR=#0000bb]document1
End Using
End Sub
[/COLOR][/COLOR]سيكون العرض على هذا الشكل
Fixed Documents
المستند الثابت تم اعدادة للانظمة التى تتطلب عرض دقيق وعلى وجه الخصوص تلك المراد طباعتها
فتكون مقاسات العرض الظاهر مساوية لمقاسات الطباعة what you see is what you get
والاستعملات المثالية للمستندات الثابته تتضمن النشر المكتبي ومعالجة النصوص وتخطيط النماذج
فالتمسك بالتصميم الاصلي للصفحة مهم .
فتحافظ المستندات الثابتة على الترتيب الدقيق لمحتواها على نهج وحدة مستقلة .
XPS Documents
XML Paper Specification (XPS) مستند مبني على مبدا المستندات الثابتة الخاصه ب WPF
و تعتبر وصف لمخططات XML-based تعرض صفحات ثابتة المحتوى بشكل صفحات الكترونية
و تعمل مستندات XPS على تسهيل انشاء ومشاركة وطباعة المستندات ثابتة المحتوى
وتبين هذة الصورة مستند XPS معروضا بواسطة DocumentViewer
حمل المثال من هنا الامثلة التى ستوضح كيفية انشاء وعرض مستندات XPS
ومن امثلة البرمجيات المعدة باستخدام WPF :
Yahoo! Messenger
http://messenger.yahoo.com/platform/win
Contoso Healthcare Sample Application
http://windowsclient.net/downloads/f...entry3754.aspx
Asahiyama Zoo
http://www.asahiyamazoo-aict.jp/asahiyamazoo.xbap
مدير المخازن من برمجتي web-based application :
وكل ما ترونة مبرمج باكواد XAML ولا يوجد صور الا ايقونات Button
مشروع تخرجي SMS News - standalone application
انتهى
-------------
بالنسبة Microsoft Expression Blend 2
http://www.microsoft.com/expression/ رابط الموقع
اخص بشكري لنجاح هذة المقدمة زميلي واخي WAIS
اتمنى يكون نقاش مثمر وعائد بما نرجوة
