عزيزي المبرمج الوسيم / عزيزتي المبرمجة الجميلة : انتوائك من هذا الكتاب ال يعين بالضزورة أن تصبح أفالطون يف Silverlight و لكنك ستحصل على أهم األساسيات

ملفّات مشابهة
المؤهالت للتواصل )1( )2( بكالوريوس تربية نوعية شعبة معلم حاسب آىل بتقدير عام جيد جد ا الدبلوم املههى قسم طرق تدريس احلاسب االىل بتقدير عام جيد جدا ) 3

مذكرة األول فى الكمبيوتر 1 مذكرة المراجعة النهائية 7117 الجزء االول ملخص الفصول الموضوع األول : أساسيات نظام الكمبيوتر ايه ب تسد اش إيهرت دخ ايب ا ات

د.ض.ب.و/ سلك اإلجازة / 2014 دفرت ايط ابط ايب داغ د ١ اي ط ١ يإلداش ٠ يف ايدزاضات األضاض ١ اإلداش ٠ امل ١ 2014 د.ض.ب.و/ سلك اإلجازة / 2014

المحاضرة 4 كلي ة الهندسة السنة الثالثة الفصل األول الدكتور: مروان قعقع ميكانيك التربة 1 21/10/2013 تصنيف الرتبة ووصفها: 1.تض ف ايرتب ١ حظب حج احلب بات

نظم الأرجوزة الميئية في ذكر حال أشرف البرية لابن أبي العز الحنفي (PDF)

بسم الله الرحمن الرحيم

ورقة عمل الدرس الثاني تطبيقي اخلاص على هاتفي... برنامج App Inventor اعداد املعلمة : اماني ممدوح املصري مدرسة امحد شوقي الثانوية للبنات اختار اإلجابة ا

Microsoft Word - C#2

المملكة العربية السعودية الهيئة الوطنية للتقويم واالعتماد األكاديمي من ذز ت ؾ ف كسز دزاض املؤضط ١ : دا ع ١ سا ٥. ايه ١ /ايكط :اآلداب ايف قط اي ػ ١ ايع

Microsoft Word - Excel VBA

التاريخ: االمتحان النهائي لمساق برمجة متقدمة תכנות מתקדם موعد أ الزمن: ساعتان فقط الخميس 2017/7/27 )10 عالمات( السؤال األول for او )while الالزمة لما

Slide 1

الوثائق النمطية – للتعاقد على التوريدات البسيطة

Microsoft Word - Access VBA

الأول في السي شارب((c#للمبتدائين

Cambridge University Press Cambridge IGCSE Arabic as a First Language Coursebook Luma Abdul Hameed, Hanadi Al Amleh, Shoua Fakhouri

عرض تقديمي في PowerPoint

) NSB-AppStudio برمجة تطبيقات األجهزة الذكية باستخدام برنامج ( ) برمجة تطبيقات األجهزة الذكية باستخدام برنامج ( NSB-AppStudio الدرس األول ) 1 ( الدرس

Banner – Hold Information SOAHOLD

المحاضرة الثانية

مدرسة هارون الرشيد الثانوية للبنين المهارات العملية / تكنولوجيا المعلومات ( الثاني عشر) إعداد/ أ. خالد الح

بسم الله الرحمن الرحيم

ملخص التقرير السنوي للكليات

ش ط TRANQUILITY ش ط Tranquility دومي ي ه منتج سك رائ ص ي ئ ب ت ست ى إق م م ا ر ا و. ا ط ط ا ع ة التصم د م ا ن س ا عم ري وأس ب ء ه ا ا م ا ي سي أجن سكن

متن

بسم الله الرحمن الرحيم

الم ب س ط ة الع ر ب ي ة الت ر ج م ة Language: العربية (Arabic) Provided by: Bible League International. Copyright and Permission to Copy Taken from th

How To Make Connection Between Oracle DB Server 9i & Oracle Developer 6i

E-EH/ 3'EJ 'D('1H/J >> (BH) P 'D9DEP *BHI 4HC) O 'D#EEP

السالم عليكم و رحمة هللا شرح ربط قاعدة بيانات Access بال.. C# مذا ستستفيد من هذا الموضوع!! -معرفة طريقة صنع قاعدة بيانات بالAccess -ربط قاعدة البيانات

بسم اهلل الرمحن الرحيم الوحدة الثانية الفيجول بيسك Microsoft VISUAL BASIC احلمد اهلل الذي أكرمين و منحين الفرصة لتوفري لكم هذا امللخص املنقى للوحدة ال

"رنا :صمص لكبلبل روص قصس نا!عييهب : ىل " او!لا! رن ددعلا لوالا امج6 ت راينهال يف رن 0 5 -!فوسمليفدملا طع!هي:! رن ةلمج ضلزث!م قسربلىئممق " زك! ىد

عرض تقديمي في PowerPoint

Microsoft Word - SolutionOOPFinal2011.doc

Basic Invoice Template for Word

Schedule Planner User Guide Target Audience: Students This tool can help you better plan your course schedule by generating a visual representation of

ال وم :السبت - الووافق : 1341/10/02 ه 1

إعداد شعبة القيادة املدرسية مبكتب التعليم بغرب الدمام

الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire Ministère de l Enseignement Supérieur et de la Recherche Scien

Microsoft Word - Question Bank-II Sem. BA Arabic Core Course, Informatics with DTP

دولة فلسطين و ازرة التربية والتعليم العالي المبحث: تكنولوجيا المعلومات / النظري بسم هللا الرحمن الرحيم مدة االمتحان : ساعتان نموذج تجريبي مجموع العالم

جامعة المنيا - كلية العلوم Minia University Faculty of Science رشع ١ ت ا غز ا ثب 2019 /2018 ثش ب ح ا ى ١ ١ بء ا س ٠ ١ خ االع ثب غخ ا عشث ١ خ ا ؤ ا عذي

عرض تقديمي في PowerPoint

خططة الدراسة

) ص ( األخيزح ادلذرلخ : ى أخيزح إىنرت خ رزحن ظ احلبست ثؼ ييب رن صنؼخ ىزنف ز ي خ ؼ نخ. األخيزح اىزم خ: ى أخيزح إىنرت خ زؼذدح ادليب ذلب اىقذسح ػيى

اتف ا ق ي ة األم م الم ت ح د ة ؤ ول ي ة ب سم ة ا ل خاصم متع ه د ى م ح ط ا ت النق ل ا ل ط ر ف ي ة ف ى الت ج ا ر ة ال د ول ي ة ا آل م م ا ل م ت ح ١٩٩٤ د

اع اء ا مث ١ ) رغ ١ اال ساق( ظ ١ فح غك ؾاس ٠ ع - اعال / االع ٠ ح سل Tahani Yousif Mobarak Hussein اتشا ١ ع ١ عثذ عضا اتشا ١

BND

المدة : 5 دقي. النش ط : ال راءة. المست ى : قس التحضير.. 9 عن ان الدرس : أربط بين الص الحرف ( (. رق ال حدة : الك ءا ال عدي : يتعرف ع الص ) ( المسم ع ث

عربي Sign-Code Website Guide فيما يلي دلي ا ل لطلب اسم مستخدم جديد لConnect Sell من خ لل موقع.Sign-Code يسمح لك الموقع بالدخول اإلداري على اسم المستخد

الوولكة العزبية السعودية وسارة التعلين العالي جاهعة أم القزى كلية التزبية اقع تيف ر خط مد س اإلغساف الرتب بإدازات الرتب التعل ه إعساز ايطايب خايس ب ع

-ىف!ا!ا!لعاقهثنلا تجمل 7 ن ناهب ءابدألل نيتا:ة!او نيفقثال ردصا دع د ركد!دء ابدالا ء أ+إلنا زييلز ايب ان ربعيل و ن صف 4 نع م يفقولك نم عورشم رواهحزيأ ا

كيفية تفعيل خدمة IIS ونشر موقع ويب على الشبكة احمللي السالم عليكم اصدقائي الكرام في هذا الكتاب سنتناول ما هي خدمة المعلومات وكيفية التفعيل ونشر الموقع

ABU DHABI EDUCATION COUNCIL Abu Dhabi Education Zone AL Mountaha Secondary School g-12 science section Mathematics Student Name:.. Section: How Long i

برنامج المساعدات المادية الذكي خطوات التقديم للمساعدة المادية...2 خطوات رفع المستندات المرفوضة...10 خطوات التاكد من حالة الطلب

قررت وزارة التعليم تدري س هذا الكتاب وطبعه على نفقتها الريا ضيات لل صف االأول االبتدائي الف صل الدرا سي الثاين كتاب التمارين قام بالت أاليف والمراجعة

ننهج القرآن الكريم يف الوالء والبراء نع اآلخر غير املسلم أ. عبد الرحمن قايد عبد الرحمن الفقيه املدرس املساعد بلسم الدراسات إلاسالمية جامعة العلىم والح

اختر عنوان مناسب

امل هة ايعسبية ايطعودية وشازة ايتع ي ايعايي جا عة أ ايكسى ن ية ايرتبية قط امل ا ج وطسم ايتدزيظ اجتاهات معلمات ومشرفات الكيمياء حنى استخدام تقنية املعا

كؿد بع ايب ا يف اؾط ح ايب غري ايع اير عسف ب إ ساد املع ٢ اي اسد بطسم تعدد ٠ أضاي ب كت ؿ ١ يف ق ح ايد ي ١ ع. 1( ع ى ب ىس ب وح. اضتدد ا ي تعبري ع ايك ٠

د. ط در ءة ز ا ت ا دزة (درا ا ا ت) د. ط در را ر ا م م ا ا ا : ا ت ا ا ا م وا ا ي و إ ى ا ت ا ا ا دو إ و دة ا و أ اد ا. و ف ا ا إ وا ا ت ا دزة م ا أ ا

ا زمش ٠ ش األعج ػ ذ خ عال خ ا غزاء ا أصذسد صاسح ا صذخ ا ؼب خ ا زمش ٠ ش االعج ػ ذ خ عال خ ا غزاء جبء وب زب : أ- الفبالد ر ف: 2- ر ا

ر ت ب م ف األخ ؼ إ ل األ ث ق ؿ ك ز ننا:..... ر ت ب م ف األ ث ق ؿ إ ل األخ ؼ ك ز ننا:..... أ ض ع د ا ر ة ع ل الش ك ؿ األ ث ق ؿ ك ز ننا أ ض ع د ا ر ة ع

Microsoft Word - ٖٗخص عربÙ−

Microsoft Word - 47-Matthew

أثر فاعلية تدريس مقرر الأحياء باستخدام استراتيجية محطات التعلم عاصم عمر

قسـم علوم الأرض والبيئة

قسم تكنولوجيا الحاسوب والمهن الصناعية

1

How To Install Oracle Forms & Reports 6i

مادة اثرائية تكنولوجيا الصف الحادي عشر وحدة الوسائط المتعددة شرح برنامج VSDC إلنتاج وحترير الفيديو المشرف التربوي د.عطايا يوسف عابد مديرية التربية وال

حفظ واسترجاع الصور في قاعدة البيانات Sql Server بلغة سي شارب

Untitled

Layout 2

اامتح ن الج ي الم حد امتح ن البك ل ري ( الد رة الع دي : ي ني ) 4102 المست ى 0 من س ك البك ل ري الشع أ المس لك مس ك الع الشرعي شعب الع التجريبي شعب الع

Slide 1

معل مات ظخض : االشه : عل ب مع ض امحد الكرى اجليص : شع د اجليض: ذكر مكا تار خ امل الد: الر اض 1404 / 1984 و. احلال االدتناع : متس ز العي ا : الر اض _س

المذرسة وضعية ادماجية في اللغة العربية السنة الثانية الوحذة الخامسة : المقطع 1 المقطع : 2 تحصل فادي على نتائج ممتازة فؤهداه والده حاسوبا و مجموعة أقرا

السالم عليكم ورحمة هللا وبركاتة كتاب تعلم برمجة االلعاب بأستخدام محرك االلعاب Unity 3D الكتاب مقدم من االستاذ : عماد عارف التوي موقع : Home OF Games ا

دليل تدريبي : الحلول لما بعد اختراق الحسابات إعداد : محمد المسقطي Mohammed Al-Maskati بمساعدة : علي السباعي Ali Sibai

شرح برنامج استعادة الملفات المحذوفة Recover my files من اعداد : رافاييل يوسف مقدمة: آلنا يعلم ان اجهزة الكومبيوتر قادرة على حفظ الملفات على قرصها الصل

برمجة متقدمة -1-

المملكة العربية السعودية

الفرق بين البرمجة الإجرائية و البرمجة المسيرة بالأحداث :

قسـم علم الحاسوب

متطلبات النظام متطلبات جهاز الكمبيوتر الشخصي معالج Pentium 1 Intel غيغا هرتز أو أسرع نظام التشغيل Windows 2000 أوXP Windows مع Service Pack 2 أو Vista

c1

أعوذ بالله من الشيطان الرجيم بسم الله الرحمن الرحيم الحمد لله رب العالمين، الحمد لله الذي هدانا لهذا وما كنا

أاعمال الر سل 507

SP-1101W/SP-2101W eciug niitallatini kciuq 1.0v /

ل بجروت.نت الموقع العربي الأول لخدمات امتحانات البجروت 3122 مقترح حل امتحان بجروت المدنيات موعد صيف نموذج الثانويين للطل

Visual Basic.Net كتاب تعليمي للمبتدئيين اعداد / محمد حازم الشميري 1

النسخ:

عزيزي المبرمج الوسيم / عزيزتي المبرمجة الجميلة : انتوائك من هذا الكتاب ال يعين بالضزورة أن تصبح أفالطون يف Silverlight و لكنك ستحصل على أهم األساسيات و املعزفة اليت حتتاجوا لبدء العمل مع. Silverlight

مقدمة أ : قبل بدء العمل مع : Silverlight قب أ تبدأ يف قسا ٠٤ ايفص ايكاد أ د أ أضع زت ع ١ ايتع ات األ ز اييت جيب أ تعسف ا ع, Silverlight ادت د ددا أ تعسف ن ف ١ ع Silverlight د ز ٠ س ا ٠ را اي ع ايتطب كات أد ات ايتط س, إذا ن ت فعال متت و ر املع ات ضابكا, ميه و جتا ا, أ ا إذا نا ت ر أ س ٠ تكسأ ف ا نتاب ع Silverlight فأزد ى ال ت ر املكد ١. 1

مقدمة : Silverlight التطوير أدوات تثبيت ب الخاصة ال تأت سص أد ات تط س Silverlight باشس ٠ ع, Visual Studio 2010 ب جيب ع و تجب ت ا بشه طتك ع, Visual Studio 2010 ضتتعسف يف را ايفص إىل األد ات اييت ضتشتاد ا يبد ٤ ايع ع Silverlight ع األخر بعني االعتباز أ أفرتض أ و قد ق ت بتجب ت طد ١ ب ١٦ ايتط س Visual studio 2010 طبكا, إذا ن ت أسد ايكابعني يف اإلصدازات األخري ٠ Visual Studio فأ ا أسد األشداص اير ع ٢ اضتعداد يتكب دى ادت ١ يال تكا إىل 2010 بأضسع قت ممه, د ١ أخس ٣ ال ميه و تابع ١ ر ايهتاب إذا ن ت ال مت و طد ١ ب ١٦ ايتط س. visual studio 2010 : Silverlight 4 Tools for Visual تثبيت Studio 2010 بعد أ تتأند تجب تو أل طذ visual studio 2010 جيب ع و تجب ت طد ١, Silverlight 4 Tools for visual studio 2010 ر اذتاي ١ فكط إذا نا ت اي طد ١ اييت عو ي طت, SP1 ف املفرتض أ و إذا ق ت بتجب ت اي طد ١ SP1 ضتذد Silverlight قد ثبت بايفع أث ا ٤ ع ١ تجب ت أ ال ق بع ١ ايتش هلر األد ات Silverlight 4. visual studio 2010 Tools for visual studio بعد اال ت ا ٤ ع ١ ايتش ابدأ بتجب ت ا بطس ك ١ عاد ١ ع السظ ١ أ ته قد أغ كت visual studio أ ال. 2

مقدمة جتد األد ات ايطابك ١ ع ٢ ايسابط ايتاي : http://www.microsoft.com/download/en/detai ls.aspx?displaylang=en&id=18149 : Silverlight developer Run Time أداة تثبيت ن األدا ٠ ر ع تعسف أ ا جيب تك أ تطتط ع ي أ و أ بتشػ تطب ل ي Silverlight بد د د Silverlight developer Run Time جبت ع ٢ د اشى, إذا سا يت أ تك بتذسب ١ أ تطب ل د تجب ت ر األدا ٠ فط دربى visual studio بشه باشس ع د ستا يتو يتشػ ايتطب ل بأ ر األدا ٠ غري حت Silverlight developer run time د د ٠. ت ت أ بعد األدا ٠ أغ ل Visual studio ق بتجب ت ر األدا ٠. جتد األدا ٠ ايطابك ١ ع ٢ ايسابط ايتاي : http://download.microsoft.com/download/c/5 /8/C5877489-8022-42A6-8456- D05C2A6C8DFB/runtime/Silverlight_Developer. exe 3

مقدمة : Microsoft Expression Blend 4 ر ي طت أدا ٠ البد ت افس ا يه تع ع Silverlight يه Blend بس ا ر تص ض ػري ن ا طس ك ١ تص و يتطب كات, Silverlight ض فس ع و قتا نبريا د دا األ ز تع يف تكط أ امل ه األنجس طس ك ١ يف تأثري نتابتو يتطب كات Silverlight بدال إضاع ١ اي قت يف تع. XAML جتد ايرب ا ر ايطابل ع ٢ ايسابط ايتاي : http://www.microsoft.com/expression/product s/blend_overview.aspx : Silverlight toolkit تثبيت ع ٢ ايسغ األد ات األنجس زا ٥ ع ١ اييت تكد ا Silverlight إال أ و ضت ب س سكا مبذ ع ١ أنرب األد ات اييت تأت ع toolkit ج خس ط ١ Bing أد ات ايسض ايب ا ايعد د ايج ات املدت ف ١ يف. ميه و حت Silverlight toolkit ا. جتد األدا ٠ ايطابك ١ ع ٢ ايسابط ايتاي : http://silverlight.codeplex.com/ 4

مقدمة : Deep Zoom Composer تثبيت أخريا أدا ٠ Deep Zoom Composer أنجس األد ات أز ع ا اضتددا ا يف عامل, Silverlight س ح تطتدد ر األخري ٠ يف عسض زت ع ١ ايص ز.,, تهبري شه ع ٢ تصػري ضتتطح ايفهس ٠ األدا ٠ ر ع اذتد ح ع د السكا ميه و حت أدا ٠ Deep Zoom Composer ا. جتد ايرب ا ر ايطابل ع ٢ ايسابط ايتاي : http://www.microsoft.com/download/en/details.aspx?displ aylang=en&id=24819 الكتاب: مع المرفق القرص حيت ايكسص املسفل ع را ايهتاب ع ٢ زت دات متج فص ايهتاب )زق اجمل د حي زق ايفص (, حي ن زت د ع ٢ ف ايشفسات املصدز ١ ي جا اير مت تطب ك يف ايفص. 5

مقدمة دورة حياة Silverlight تطبيقات ال ميه أبدا جتا د ز ٠ س ا ٠ أ ع ايتطب كات اييت تك بتط س ا ف امل ددا أ تف ن ف تداز األ ز خ ف ايه اي ظ, ذيو يف سا اد تو املتاعب تطتط ع ايتطب كات أ تتصسف حبه ١ ب ارتاص ١, ذنا ٤ Silverlight ايفكس ٠ ر يف, ميه و جتا را ضأحتدخ ايفص د ز ٠ ع إذا ن ت س ا ٠ ع ٢ عسف ١ ضابك ١ ب ر املع ات س ح ميه اعتباز ا ع ات عا ١ يه ١ ددا يه بتدئ يف عامل تطب كات.Silverlight سط ا ي دخ يف ص ب امل ض ع, يف ر اي كط ١ ض شا شسح د ز ٠ س ا ٠ تطب كات Silverlight اى كط ١ جيب أ تعسف ا ع د اذتد ح ع تطب كات, Silverlight ف تطب كات شب ١ ددا بتطب كات ضطح املهتب يف فظ اي قت بع د ن ا ع تطب كات ضطح املهتب, أع د دا أ و ضت عتين باجمل بعد ادت ١ ايطابك ١, يه را اي اقع, ا أت د ز اذتد ح ع د ز ٠ س ا ٠ تطب كات Silverlight تبدأ تطب كات Silverlight س ات ا ر اي شظ ١ اييت تطع ف ا صفش ١, asp.net ميه ت ض ح تفاص ذيو بايشه ايتاي : تطب كو ع ٢ 6

مقدمة ك املطتدد بط ب صفش ١ حتت ع ٢ تطب ل. Silverlight ت ايتأند أ املطتدد قد قا بتجب ت طد ١ Silverlight run time ت افك ١ أ أع ٢ اي طد ١ اييت قا املط ز بتط س تطب ك ب ا. ت حت تطب ل Silverlight إىل د اش املطتدد, تطب ل Silverlight ت با تداد.xap را امل ف ت إ شا ٥ يف طاز عني تتع د ا هس ض فت بأ ه را املطاز زت س ح ت سفظ تطب ل.xap داخ را اجمل د. السظ ا أ ا ت حت فكط امله ات ايس ٥ ط ١ ي تطب ل ج ايص ز خالف ال ت حت جال خد ات اي ب. بعد حت ايتطب ل إىل د اش ايع تت ىل ا CLR ع ١ جت ع ايتطب ل ت ف ر, ع د اال ت ا ٤ ايتش تط ل األخري ٠ سدخ startup اير بد ز بدأ بعسض ايتطب ل ع ٢ املطتدد..1.2.3.4.5 حتدخ ر ايع ١ س ٠ اسد ٠ فكط يف املس ٠ األ ىل اييت ت ف ا فتح صفش ١ Silverlight يف, املس ٠ ايكاد ١ فكط ت عادت ١ األسداخ املدت ف ١ أ إ صح ايتعبري عادت ١ أسداخ ايتطب كات. 7

مقدمة : ASP.net تطبيقات Silverlight و سط ا ر كط ١ شا ٥ ه ١ عا ا, جيب أ تع أ سا ا ددا ددا ع د اذتد ح ع تطب كات Silverlight ف ختت ف درز ا ع تطب كات, asp.net إذا أ ع ت اي ظس يف تطب كات asp.net ف تطب كات ت ت ف ر ا ع ٢ د اش ارتاد أ د ١ اي Server ب ا تطب كات Silverlight ت ت ف ر ا ع ٢ د اش ايع ن ا زأ ا يف د ز ٠ س ا ٠ ايتطب ل يف األع ٢. يف تطب كات asp.net ت ت ي د شفس تا, JS HTML CSS ب ا يف تطب كات Silverlight ال ت ت ي د أ ش ٤ ض ٣ صفش ١ اسد ٠ حتت ع ٢ شفس ٠ JS اييت ته طؤ ي ١ ع اضتطاف ١ تطب ل. Silverlight أخريا ي تشدخ ق ال ع ا حيدخ ع د ايتش بشه أنجس تفص ال, اى ضبع ١ أسداخ تط ل بشه طت س ع د حت أ تطب ل Silverlight بايشه ايتاي : ن ش ٤ بدأ ف, app.xaml س ح أ يف داخ را امل ف ت حتد د أ صفش ١ صفشات Silverlight ضتع أ ال. يد ا اذتدخ application_startup ف تطتط ع أ تك مبذ ع ١ تع ات قب عسض ايتطب ل ع ٢ املطتدد..1.2 8

مقدمة يف اذتدخ ايطابل ت ايت د أل rootvisual س ح ن صفش ١. rootvisaul جيب أ حتت ع ٢ Silverlight ت إطالم اذتدخ. sizechange ت إطالم اذتدخ. LayoutUpdated ت إطالم اذتدخ. GetFocus إذا أغ ل املطتدد ايصفش ١ ت إطالم اذتدخ. application_exit.3.4.5.6.7 من بالعالم مرحبا Silverlight قب أ تك إىل األدصا ٤ ادتد د ٠ يف Silverlight دع ا أخر د ي ١ ضس ع ١ ع ٢ ب ١٦ ايتط س ارتاص ١ ب, Silverlight ضأعترب ا أ و ق ت بتجب ت طد ١ أد ات ايتط س املدت ف ١ ن ا حتدث ا ضابكا, يريو ي بدأ بايع. 9

مقدمة : ابدأ مشروع جديد باستخدام Silverlight افتح Visual studio اخرت, file > new > project أضف ارت ازات ضرت ٣ ع صس دد د باض Silverlight سدد را ايع صس ث اخرت ارت از األ. HelloWorld ق بتػ ري اض املشس ع إىل, Silverlight Application 10

مقدمة Silverlight بعد أ ختتاز شس ع Silverlight ضتدسز يو افر ٠ أخس ٣ تط ب و بعض املع ات )ا ظس ايص ز ٠ ), ن ا حتدث ا يف د ز ٠ س ا ٠ ايتطب ل ضتشتاز إىل ط ف يتطب ل Silverlight شس ع دد د ع تطب ل ب حيت ع ٢ صفشتني األ ىل,asp.net ايجا ١, HTML أ طا مت شو ر اي افر ٠ خ از حتد د أ طد ١ طت دف ا شس عو, بشه ت كا ٥ ضته اي طد ١ األخري ٠. أخريا يد و ارت از Enable WCF RIA Services خ از ت ح يو تشػ تطب كات Silverlight خازز املتصفح, ض تطسم هلرا األ س السكا )يف اي اقع بشه مم السكا ). اتسى ن ش ٤ ن ا ساي ا ا كس ع ٢. OK 11

مقدمة ن ا تس ٣ يف اي افر ٠ ع ٢ اي طاز يد و مخط ١ أدصا ٤ تكس با ع د ا تشدخ ع تكط شاش ١ ايع, يد ا طك ١ XAML خالهلا ت تص ايتطب ل ع طس ل نتاب ١ األن اد, ب ا يد ا طك ١ ايتص ت خالهلا تص اي ذز خال ايطشب اإليكا ٤ يألد ات املدت ف ١, يد ا ع ٢ ادت ١ اي طس ٣ اي ذز األد ات األضاض ١ يتطب كات Silverlight ب ا ع ٢ ميني ايشاش ١ يد ا شس عني األ تطب ل Silverlight ايجا تطب ل Web أ املطتط ف ض تشدخ ع را ايتطب ل السكا يه دع ا بدأ يف تطب ل Silverlight أ ال. اضشب أدا ٠ Textbox شس ط األد ات أيك ا يف امل تصف نريو أدا ٠ Button أيك ا أ طا أضف أدا ٠, Textbox )ا ظس ايص ز ٠ ع ٢ اي ني(, إذا ن ت ال تس ٣ افر ٠ ارتصا ٥ ص ميه و إظ از ا خال > view. window preppies 12

مقدمة سدد أدا ٠ Textbox ق بتػ ري ارتاص ١ name يف أع ٢ ايشس ط إىل txtname ق ب فظ األ س ع األدا ٠ Button btnclickme )ا ظس name إىل ق بتػ ري ارتاص ١ ايص ز ٠ ع ٢ اي طاز(. ي ظس إىل شفس ٠ XAML اييت مت ت ي د ا ست ٢ ر اي شظ ١ ي شسس ا بش ٤ ايتفص : ايفطا ٤ ات أدا ٠ أد ات Silverlight ته د د ٠ داخ فطا ٤ أمسا ٤ ت تعس ف أع ٢ ف ايشاش ١, فظ األ س اير حيدخ ع د ا ت د اضتددا I/O جال فع و 13

مقدمة اضتدعا ٤ فطا ٤ األمسا ٤ system.io أع ٢ ايشفس ٠ يف ض شازب, أ ا ادتص ٤ ايجا ايشفس ٠ ف ايشفس ٠ اييت مت ت ي د ا ع د ع ١ ايطشب اإليكا ٤, جيب أ تالسظ ا أ LayoutRoot ش ٤ أضاض يف ن مناذز Silverlight ن األد ات ته داخ, LayoutRoot السظ ا أ ر األخري ٠ ي طت ض ٣ Grid ض تشدخ ع ا السكا ن ا تعسف ا ضابكا فإ را ادتص ٤ ادتص ٤ األ اير ت ب ا ٤ ع د حت ايتطب ل ( زادع كط ١ د ز ٠ س ا ٠ تطب كات ) Silverlight. عد إىل افر ٠ ايتص ا كس كسا صد دا ع ٢ Button املط ٢, btnclickme ت ذ ١ يريو ضتفتح افر ٠ ايشفس ٠ قد قا Visual studio بشه آي بت ي د اذتدخ Click ا ميه و نتاب ١ شفس ٠ ض شازب, انتب جال : txtname.text = " Hellow World ";, butclickme السظ اذتدخ اير مت ت ي د ي ع صس,XAML : عد إىل صفش ١ ن ا يف ايشفس ٠ 2: 3: 4: 5: <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="160,179,0,0" Name="btnClickMe" VerticalAlignment="Top" Width="75" Click="btnClickMe_Click" /> 14

مقدمة اى ايعد د األسداخ اييت ميه و ايتعا ع ا خال, Silverlight افر ٠ ارتصا ٥ ص سدد ايتب ب Events ضرت ٣ ا طس ظسى به تأن د ( ا ظس ايص ز ٠ ع ٢ اي ني( أسداخ مل ته حت ب ا ض ا ٤ يف تطب كات asp.net أ تطب ل.WPF سط ا ي ك بتشػ ايتطب ل, اآل أ كس ع ٢ شز F5 أ ع ٢ Start Debugging شس ط Debug ي بد ٤ بت ف ر ايتطب ل, ض ف تفتح شاش ١ املتصفح ب ا تطب ل Silverlight اير ق ت بتط س قب ذتظات, إذا كست ع ٢ اي Button ضتدسز يو زضاي ١ Hello world داخ. TextBox 15

مقدمة أغ ل املتصفح عد زتددا إىل ب ١٦ ايتط س سدد ايتطب ل Silverlight افر ٠ Solution Explore ث ا كس بصز ايفأز ٠ األمي اخرت األ س, Properties بشه ت كا ٥ ض ف حيدد Visual studio ايتب ب Silverlight ا ص إىل األضف ق ال ق بتشد د األ س Enable running application out of browser )ا ظس ايص ز ٠ ع ٢ اي ني( تأند حتد دى هلرا ارت از ث أعد تشػ ايتطب ل زتددا بايطػط ع ٢, F5 أصبت بر!! ع را صش ح عص ص يكد أصبح تطب كو ع بشه نا نتطب ل ضطح هتب ي ظ تطب ل ب!! را األ س ع د ايفط ف إىل د ز ٠ س ا ٠ تطب كات Silverlight ن ا حتدث ا ضابكا, اى فص نا تشدخ ع را األ س فال تطتعذ أزد ى, فكط ا شين ايك صربى قتو. إىل ا أن ا ت ت املكد ١, تطسقت خالهلا إىل أد ات ايتط س ب ١٦ ايع تكط ايع زأ ا ن ف تؤثس ع ١ ايطشب اإليكا ٤ ع ٢ شفس ٠ XAML تعسف ا ع ٢ د ز ٠ س ا ٠ تطب كات Silverlight زأ ا يف ادتص ٤ األخري ن ف أ د ز ٠ اذت ا ٠ تؤثس بشه باشس ع ٢ طس ك ١ ع تطب كات. Silverlight 16

األول الجزء البداية مع Silverlight يف هذا اجلزء ستتعرف على اساسيات التصميم يف برنامج Microsoft Blend والتعامل مع animation ثم سنتعرف على أدوات Silverlight القياسية وأهم خصائصوا وأحداثوا. بعد االنتواء من هذا الفصل جيب أن يضاف إىل معرفتك التالي: التعرف على Microsoft Blend التعرف على خصائص وأحداث األدوات القياسية يف تطبيقات Silverlight 17

الجزء األول : الفصل األول األول الفصل : تطبيقات تصميم Silverlight سط ا يطت فد زا مبا ضأفع يف ايصفشات ايكاد ١, يه دست ايعاد ٠ ع د اذتد ح ع تط س تطب كات Silverlight أ بدأ ايهاتب باغس ٠ ع أد ات ايتشه امل د د ٠ يف, Silverlight جال Button Textbox غري ا, يه ع األضف ايػد د ضأخايف ايػس ع ١ ر املس ٠ ي أبدأ باذتد ح ع األد ات, يهين ضأحتدخ ع ايتص فه غ ٤ يف Silverlight عباز ٠ ع تص. بعد اال ت ا ٤ را ايفص جيب أ ضاف إىل عسفتو ايتاي : اضتددا ايرب ا ر ايعظ. Microsoft Blend ايتعا ع. animation تعد Style األد ات امل د د ٠ قب. Blend ن ا تطسق ا يف املكد ١. أزد أ ته قد ق ت بتجب ت اي طد ١ ايسابع ١ 18

الجزء األول : الفصل األول : التعرف على Microsoft Blend يف بدا ١ ظ ز, Silverlight نا ادبا ع و أ تتع XAML ست ٢ تعسف ن ف ت إ ػا ٤ ايتطب كات, ب مل ته تطتط ع أ تفع أ غ ٤ إذا ن ت ال تعسف, XAML ا قا ت Microsoft يع ا طبكا طبعا بأ ر اي ػ ١ ادتد د ٠ ضته عا ٥ كا أ ا املط ز يال تكا إىل WPF أ, Silverlight بتط س, Microsoft Blend س ح ميه و أ تك بأ Microsoft Blend املها امل اضب يتص تطب كات Silverlight أ ضا. WPF new سدد Welcome Blend, ي بدأ سط ا بايع افتح افر ٠ ارت از Silverlight اخرت ث project ق بتػ ري إىل املػس ع اض Project سدد اي ػ ١ IntoBlend ض غازب اخرت. سدد Silverlight Application Silverlight 4 ن طد ١ املػس ع ث ا كس ع ٢ OK )ا ظس ايص ز ٠ ع ٢ اي ني(. 19

الجزء األول : الفصل األول يف اذتك ك ١ ال دد غ ٤ دد د خيت ف يف اد ١, visual Studio ع Blend ض ٣ افرتني تكس با أ ثالث ١, يريو ي أتطسم يطس ك ١ اضتددا blend فاأل س أغب باضتددا بس ا ر ايسضا, أ ا ع اي افرتني املدت فتني ف ا بايػه ايتاي أ ال TimeLine)OATL( Object and ا ميه و زؤ ١ ن األد ات اييت تك بسمس ا أث ا ٤ ع ٢ ع ١ اي ذز ايتص داخ أ ضا. قا ١ ٥ ظ ١ فظ بػه ر د د ع ح اي افر ٠ ميه و ط إ ػا ٤ ايتعا عسف ا ع ا ب Storyboard حتس و األد ات خال فرت ٠ ش ١ ع ١, ن ا ض س ٣ يف را ايفص السكا. 20

يف, الجزء األول : الفصل األول status اي افر ٠ ايجا ١ افر ٠ بع تك اير األ س فظ بع تك. أ ضا ض تطسم اي افر ٠ هلر بك ٢ ا أ ا ايفص را ا ١ Storyboard, أغسط ١ أ فأعتكد تطت تر أ ددا ايط ب فطو تفع اذا فكط األ س اختالف بط ط يف األمسا ٤ ع ا ع يف.visual studio Blend النافذة object and timeline و في األلوان مع التعامل و تأثير ثالثي األبعاد : سك ك ١ يف األ س ن ايتأثريات ثالث ١ األبعاد يف بصس ١ خدع إال ا تكس با, طس ك ١ ايت زض ايها ٥ ات أد ات ثالث ١ إىل املجا را يف ض شتاز اي ع, Ellipse ضتذد ر األدا ٠ يف ادت ١ اي طس ٣ األدا ٠ ايسابع ١, إذا ن ت األضف )ا ظس ايص ز ٠ ع ٢ اي ني( تسا ا ال ايفأز ٠ بصز ا كس األدا ٠ ع ٢ األمي ايكا ١ ٥ يف ضتذد ا Ellipse اي ذز إىل ا تك ث سدد ا األب ض اير يف طك ١ ايتص ازض. س ٠ بػه ها أ اسد ٠ يف عػ ا ٥ ت ت أ بعد افر ٠ إىل ا تك ايسض ارتصا ٥ ص نا ت )إذا افر ٠ ارتصا ٥ ص غري د د ٠ ميه و عسض ا ) windows > preppies افر ٠ ارتصا ٥ ص سدد اجمل ع ١ Layout ث ق بتػ ري ايعسض ايط إىل, 032 أ ضا أعد تط ١ Ellipse إىل, BeasdEllipse BeasdEllipse افر ٠ object and TimeLine سدد ايفأز ٠ بصز ا كس األمي اخرت Copy ث زتددا اخرت Paste ضتضاف أدا ٠ دد د ٠ ي ذز اير 21

الجزء األول : الفصل األول أ ا و حت االض BeasdEllipse _Copy ق بتػ ري اض األدا ٠ إىل, Level2Ellipse ر املس ٠ افر ٠ ايتص نسز فظ ايع ١ سدد Level2Ellipseبايفأز ٠ باضتددا Ctrl + C أيصك ا دد د غ س اض األدا ٠ ادتد د ٠ إىل. Level3Ellipse تأند بأ و ق ت بتشد د األدا ٠ Level3Ellipse ق بتػ ري سذ األدا ٠ اجمل ع ١ Layout إىل 032 ط ال عسضا, ق بتشد د األدا ٠ ايجا ١ Level2Ellipse ث ق بتػ ري اذتذ إىل 022 ط ال عسضا, اتسى األدا ٠ Object and )OATL( يف غأ ا. عد زتددا إىل افر ٠ BeasdEllipse ) LayoutRoot سدد مج ع األد ات ايجالث ١ ( ال تك بتشد د TimeLine ث ا كس بصز ايفأز ٠ األمي سدد ارت از align ث horizontal center يه ته مج ع األد تا تطابك ١ ف م بعض ا بامل تصف, اضت س بتشد د مج ع األد ات ا كس بصز ايفأز ٠ األمي سدد ارت از Group into ث اخرت Grid ا ق ا بع اآل جت ع ر األد ات ن ا داخ Grid اسد, را األ س ض ط ع و نجريا ايتشه ظ ع ر األد ات خص صا ع د اذتد ح ع حتس ه ا ها إىل أخس, املفرتض اآل أ ته ر األد ات مج ع ا ف م بعض ت اضك ١ بط اسد. 22

الجزء األول : الفصل األول ي تك اآل إىل ع ١ ايت, يف ايبدا ١ ض تعا ع ايع صس Level3Ellipse سدد ايع صس افر ٠ OATL أ طك ١ ايتص بأ ايطس كتني تس د ا تك إىل افر ٠ ارتصا ٥ ص, سط ا ع ٢ عهظ visual studio اير تعا ع األي ا يف أنجس طك ١, أت blend ي ذ ع ن األي ا اييت تطتط ع تػ ري ا أل أدا ٠ نا ت يف أع ٢ غس ط ارتصا ٥ ص. كط غس ط األي ا إىل ثالث ١ أقطا أ ال امل طك ١ املساد ايتعا ع ا تط ٢ Brushes ج ارت ف ١ اذتد د ي ارتط.. اخل, أ ا امل طك ١ ايجا ١ طس ك ١ ايت هلا أزبع ١ أغها إ ا أ ته غفاف ١ ( Brushes ) no أ ص ت ١ ب اسد ( Color ) Solid Brushes أ تدزد ١ األي ا ( Color ) Gradient أ اذتص ع ٢ األي ا صدز يف املػس ع, ن ا ض س ٣ السكا. ا سدد ارت از Solid Brushes Color ث اخرت اي األض د, سدد اآل Level2Ellipse اخرت ر gradient Color أ األي ا املتدزد ١, ع د حتد دى هلرا اي ع ايت ضرت ٣ يف األضف ق ال غس ط ايتعب ١٦ جيب أ حيت ع ٢ طاز ع ٢ األق, أ ضا ميه و أ حتدد أنجس تدزز باي كس ع ٢ را ايػس ط, أضف ي ثايح باي كس يف أ ها سدد اي ايسصاص أ انتب را ايسق يف خا ١ اي #FFC3C3C3, األضف ع ٢ اي ني سذ ايتعب ١٦ سدد %32, 23

الجزء األول : الفصل األول ي تك اآل إىل األدا ٠ األ ىل BeasdEllipse ق بتػ ري عسض األدا ٠ إىل 022 زتددا غري األي ا إىل, gradient Color ر املس ٠ ا ص ق ال إىل اجمل ع ١ Appearance زت ع ١ تتعا ع ايتأثريات, ارت از Effect اضػط ع ٢ new سدد ارت از, DropShadowEffect اآل ض ف صبح يد و خ ازات دد د ٠ ي تعا ع را Effect ادتد د, إذا ن ت ال تس ٣ ر ارت ازات ميه و إظ از ا خال كس االض اير ظا ب ن ١, effect ق بتػ ري ارتاص ١ BluRadius إىل, 022 نريو ارتاص ١ Opacity إىل %022, ادع ارتاص ١, 0 ShadowDepth ي صبح يد و يف ا ١ املطاف غه عا ٤ اذتذس األض د ايهس ن ا ع ٢ دداز ايهعب ١ املػسف ١ ( ايص ز ٠ ع ٢ اي ني (. بك يد ا اآل زض اذتذس األض د, ي ك فعال بسض اذتذس األض د يه ا ض ك بع ا عهاع أغع ١ ايػ ظ ع ٢ اذتذس األض د, اهلدف را األ س ايتعسف ع ٢ animation يف Silverlight ايتشه ب Storyboard ايتعا ع status إذا ي بدأ. 24

الجزء األول : الفصل األول يع را اي ع ايظ ض ك أ ال بسض أدا ٠ دد د ٠ اي ع, Ellipse ازض األدا ٠ بع دا ع ايسمس ١ ايطابك ١ سدد ايعسض ب 021 االزتفاع ب, 000 افر ٠ األي ا سدد ظا ايت, gradient Color ادع بدا ١ اي ادت ١ اي ين باي األض د يف اي ا ١ بادت ١ اي طس ٣ أب ض, ث ق بتػ ري ظا ت ش ع األي ا إىل Radial gradient ذيو خال حتد د أضف غس ط ايتعب ١٦ بادت ١ اي ٢ ( ا ظس ايص ز ٠ ع ٢ اي ني (. ميه و أ ضا اضتددا أدا ٠ gradient tools غس ط األد ات ( ايػس ط اير اخرتت ) Ellipse دتع ايدا ٥ س ٠ تبد بايػه اير ع ٢ اي طاز ذيو بتشس ه ا األع ٢ األضف امل تصف, ي ظ األ س غا ١ يف ايتعك د ع ح حيتاز إىل غسح. ارتط ٠ ايتاي ١ اال تكا إىل ع ١ حتس و ر ايص ز ٠ داخ عا ٤ اذتذس ع ح تبد نأ أغع ١ ايػ ظ ت عهظ ع ٢ اذتذس ايداخ. يف ايبدا ١ اخرت ايط األض د أع ٢ غس ط األد ات ست ٢ تتد ص ر األدا ٠ gradient tools ث اضشب ايدا ٥ س ٠ إىل تصف امل طك ١ ايط دا ٤ يف اي عا ٤, ي صبح األ س ن ا يف ايػه ع ٢ اي ني. 25

الجزء األول : الفصل األول اي افر ٠ OATL ضتذد شز شا ٥ د يف األع ٢ ا كس ع, ضتظ س أ ا و افر ٠ إ ػا ٤ Storyboard ادع االض ن ا ال ػه ١, بعد أ ت كس ع ٢ افل ضرت ٣ شز أمحس يف األع ٢ را عين بأ أ سسن ١ ضتك ب ا ض ف تطذ داخ, Storyboard السظ أ ضا ايػس ط ايص ين ع ٢ اي ني ف ق غ ٤ غب اي ذ ١ خالهلا تطتط ع أ تض ف ف اص ش ١ بني ن سسن ١ سسن ١. أ ضا يد و غس ط ايتشه ملػا د ٠ اذا فع ت,)ا ظس ايص ز ٠ يف االضف (: 26

الجزء األول : الفصل األول يع تأثري ايػ ظ ض ف ك بتصػري ايدا ٥ س ٠ أ ال ث تهبري ا دد د, بعد إضاف ١ Storyboard سدد دا ٥ س ٠ ايػ ظ افر ٠ OATL ث ق بطشب ارتط ايص ين األصفس ست ٢ ايجا ١ األ ىل اضػط ع ٢ شز اي ذ ١ األع ٢ يتض ف كط ١ فص ث ق بتصػري دا ٥ س ٠ ايػ ظ باجتا ايػسب ق ال, نسز ع ١ ايتصػري دد د إىل ايجا ١ ايجايج ١ بعد ذيو ق بتهبري ايدا ٥ س ٠ دد د ست ٢ ايجا ١ ايطابع ١, ( ا ظس ايػه ايتاي ) : يألضف ال تطتط ع أ تتشه ظع را animation تشسى إال خال ايػفس ٠, يريو افر ٠ projects سدد اي افر ٠ MainPage ث اضػط ع ٢ ايط ظا ب ا يرت ٣ صفش ١ ايػفس ٠ MainPage.xaml.cs يف املػ د ايس ٥ ط أضف ايػفس ٠ ايتاي : Storyboard1.Begin(); 27

الجزء األول : الفصل األول اضػط ع ٢, ctrl + shift + B يب ا ٤ ايتطب ل ث ا كس ع ٢ شز F5 ي بد ٤ بايع ا ظس يع ١ ايتشس و ن ف تت, ا شايت يد ا ػه ١ ا, تك تفع ا بتفع Storyboard ميه و, ت قف بعد اضتددا أ و ال تطتط ع أ Button جال يد و, اى ايعد د Storyboard animation يف تت ح Silverlight يو ايتشه WPF ايطسم, بػه ف ا خيص يف ن تطتط ع نتاب ١ ت و ايطسم خال ايضػط ع ٢ شز األسداخ امل د د ظا ب ارتصا ٥ ص ( ا ظس ايص ز ٠ ع ٢ اي طاز ), ق بتشد د اذتدخ Click يألدا ٠ Button انتب ايطسم بايػه ايتاي : 2: Storyboard1.Pause(); Storyboard1.Stop(); اى طس ك ١ أخس ٣ ختت ف متا ا ع ر ايطس ك ١ تعت د ع ٢ األسداخ بػه ن, جال ع د ا ػادز ايرتن ص ص د م اي ص ت إطالم را اذتدخ, س ح تعسف ر ايطس ك ١ ب, status ازض TextBox ع ٢ فظ اي ذز يف ها آخس ( ضتذد أدا ٠ TextBox يف اي افر ٠ ) Assets اي افر ٠ status أضف status دد د )ايصز األمي يف األع ٢ (. 28

الجزء األول : الفصل األول األ س أ اآل ع د زتددا ضتش اي افر ٠ ع ا visualstatusgroup يف, دد د حتت ط ٢ ر األخري ٠ ا كس ع ٢ شز إضاف ١ ي ت إضاف ١, visualstatus غ س امس ا جال إىل فتصبح LostFoc طك ١ )ا ظس ايص ز ٠ ايتص ع ٢ باي اي ني األمحس. السظ ) اضتعدادا ي تطذ, خال status ال حتتاز إىل ايتعا ع TimeLine بػه باغس, فكط ق بتػري املد ٠ ايص ١ إىل د ٠ ع ١ ي ك جال ثا تني, تػ ري ذيو خال Default translation إىل. 0.2 اآل سدد TextBox ت د إىل قا ١ ٥ األي ا غس ط ارتصا ٥ ص سدد BorderBrush األع ٢, ث ق بتػ ري ي ايتص إىل ا حي يو, ا ضأدع ا باي األمحس )ا ظس ايص ز ٠ ع ٢ اي طاز ), بعد أ ت ت تطذ, اي تػ ري بايضػط ع ا فكط. غس ط إىل عد status base إىل اذتاي ١ غري ذيو ارتط ٠ األخري ٠ إطالم را اذتدخ ع د ارتس ز TextBox باغس ٠, يع ذيو ا تك إىل ص د م األد ات Assets اخرت ر املس ٠ ايتص ف, Behaviors ث اخرت األدا ٠ GoToStatusAction أ فكط اعح ع ا يف ايػس ط األع ٢. 29

الجزء األول : الفصل األول ق بطشب األدا ٠ إيكا ٥ ا ع ٢ TextBox يف اي افر ٠ OATL أ ع ٢ TextBox يف طك ١ ايتص, ضتظ س ع ٢ اي ني خصا ٥ ص ر األدا ٠ ادتد د ٠, سدد Common, MouseLeave اخرت EventName ارتاص ١ Trigger Properties سدد ارتاص ١ Status Name اخرت اي, LostFoc خط ٠ أخري ٠ قب أ تك بتذسب ١ ايتطب ل أضف button إىل اي ذز,ست ٢ تطتط ع أ تس ٣ اذتدخ, LostFoc فر ايرب ا ر اآل ا ظس إىل اي ت ذ ١. أسد أ امل صات يف تطب كات Silverlight أ ميه و تعد أ غ ٤ ف ا تكس با, ي أخر ع ٢ ضب املجا ص د م اي ص, إذا أزدت أ تعسف ن ف مت تط س بايها, فه ا ع و ع اي كس ع ٢ أ TextBox اخرت Edit Temples ث اضػط ع ٢ OK اضت تع مبرام غفس ٠ XAML غ ( ا ظس ايص ز ٠ يف األضف (, ميه و أ ضا تعد style ر األد ات بػه عاد ددا ن ا غا دت يف را ايفص. 30

الجزء األول : الفصل األول ع ٢ ايسغ أ ا مل ذص غ ٦ ا ع ا ست ٢ اآل ا شي ا يف األضاض ات ا شا ايهجري يف Blend خف ا يه تعسف ا ع ٢ ها ق ٠, Blend ايتعا ع animation نا ضابكا عذص ٠ ع ١ عد ذات ا, زأ ا يف را ايفص ن ف ت ايتعا ع ا بطس كتني ض ا ٤ status أ Storyboard زأ ا ن ف ت ايتعا ع األي ا ايتصا, أ ضا تطسق ا أل اي افر يف Blend طسم ايتعا ع ا. أخريا زأ ا ن ف ميه و اذتص ع ٢ غفس ٠ أ أدا ٠ يف Silverlight ن ف ميه و االطالع ع ا. 31

الجزء األول : الفصل الثاني الثاني الفصل : أدوات Silverlight القياسية TextBox يف را ايؿص ض تطسم ألد ات Silverlight األضاض ١ ج Button windows Silverlight غري ا, ض تعسف ع ٢ ايؿس قات بني أد ات ListBox, form ض س ٣ أنجس اصا ٥ ص اضتددا ا هلر األد ات أنجس األحداخ اييت ت ايتعا ع ا خص صا ع د ع اؿد ح ضتذد يف را ايؿص ايعد د املالحعات ن أدا ٠. ط ز اييت ايتطب كات Windows form تبني ايؿس قات ب ا أث ا ٤ غسح بعد اال ت ا ٤ را ايؿص هب أ طاف إىل عسؾتو ايتاي : اضتددا أد ات Silverlight ايك اض ١. ايتعا ع. data binding ايتخكل ايب ا ات. Data validation 32

الجزء األول : الفصل الثاني : أدوات استخدام Silverlight القياسية أوال الخصائص المشتركة بين األدوات : ااص ١ : FlowDirection تطتدد يتخد د اػا اي ص ض ا ٤ اي ني ي طاز يدع اي ػات ج ايعسب ١ أ اي طاز ي ني يإلل ص ١ جال, اى طس كتني ي تخه ب ر ااص ١ ض ا ٤ ع طس ل اؾر ٠ اصا ٥ ص أ خال ايػؿس ٠ : - 2: TextBox1.FlowDirection= System.Windows.FlowDirection.RightToLeft; ااص ١ : Text تطتدد يتع ني اي ص أ اؿص ع ٢ ق ١ TextBox جال, ميه و تع ني اي ص اؾر ٠ اصا ٥ ص أ خال ايػؿس ٠, تطتكب تع د تػري اي ع. string ااص ١ : IsEnable ا ت اش ااص ١ Enable يف تطب كات, Boolean تع د تطتكب تػري اي ع windows form ح ح تطتدد ر ااص ١ يت هني املطتدد ايتؿاع ع TextBox أ عد ايتؿاع ع. - - 33

الجزء األول : الفصل الثاني ااص ١ : MaxLongth تطتدد يتع ني أقص ٢ ط ي خس ف يف TextBox تطتكب تػري اي ع Int ودد عدد اؿس ف. ااص ١ : Viability تطتدد يعسض أ اخؿا ٤ األد ات أث ا ٤ ايتػػ, تأخر ق ١ اي ع Viability ت اش ااص ١ visible يف تطب كات, windows form أخريا ميه و تعد ر ااص ١ خال ايػؿس ٠ بايطس ك ١ ايتاي ١ : - - TextBox1.Visibility = System.Windows.Visibility.Visible; ااص ١ : isreadonly تطتدد ؾع بعض األد ات ي كسا ٠٤ ؾكط, أزد أ تالحغ أ األ س كت ع د اضتددا, isenable ع ٢ عهظ IsEnable طتط ع املطتدد ايتعا ع األدا ٠ يه ال طتط ع ايهتاب ١ ؾ ا جال بإ ها طذ قت ات اي ص ي ظ يصل اي ص. تتعا ع ق اي ع. Boolean ااص تني : HorizontalScorllbar VerticalScrollbar نال ااص تني تطتدد يعسض غس ط ايت س س, ميه تع ني أزبع ١ ق هلر ااص ١ إ ا hidden أ كؿ ١ أ visible أ Auto ا ت تع ني ع ١ اإلظ از بػه ت كا ٥ ع د نتاب ١ اي ص, أخريا ايك ١ ايسابع ١ Disabled خالهلا ال طتط ع أ س ٣ املطتدد أ ر األغسط ١. - - 34

الجزء األول : الفصل الثاني اى خصا ٥ ص أخس ٣ تتع ل بايتص ج Brushes color style ي ا ؿ ١ اط ط قد تطسق ا هلر األ ز مج ع ا زأ ا ن ت ايتعا ع ا خال, Blend ص خ ١ إ طا ١ إذا أزدت أ تتعا ع ايتص ال تطتدد Visual studio ؾطتذد ؿطو يف تا ١ ال ميه أ ؽسج ا إطالقا د ايتعا ع. XAML ثانيا األحداث المشتركة : اؿدخ : LostFocus GetFocus اؿدخ األ عهظ اؿدخ ايجا ؾاأل ت إطالق ع د ا ؼص األدا ٠ ع ٢ ايرتن ص, أ ا األخس ؾ ت إطالق ع د ا ؽطس األدا ٠ ايرتن ص, ؾهس يف TextBox اييت تتعا ع ا twitter جال ع د ع ١ ايبخح ضتذد ن ١ search ع د ا تطع ؤغس ايؿأز ٠ داخ TextBox ضتالحغ اختؿا ٤ ن ١ search ا أط ل اؿدخ GetFocus ع د ا ؽسج TextBox د نتاب ١ أ ن ات تع د ن ١ search فددا ا مت إطالم اؿدخ.LostFocus - 35

الجزء األول : الفصل الثاني اؿدثني : keyup KeyDown كع اؿدخ األ ع د ا ك املطتدد باي كس ع ٢ شز ي ح ١ املؿات ح قب أ سؾع أصبع ايصز, أ ا اؿدخ ايجا ؾ كع ع د ا سؾع املطتدد د ي ح ١ املؿات ح, جال ميه أ تك بع أ س ا ع د ا ك املطتدد باي كس ع ٢ شز enter ي ح ١ املؿات ح, ايػؿس ٠ : - 2: 3: 4: 5: 6: 7: 8: private void TextBox2_KeyDown(object sender, KeyEventArgs e) { if (e.key == Key.Enter) { MessageBox.Show(" hi "); } } الحغ يف ايػؿس ٠ اييت يف األع ٢ أ أضتدد املتػري e يتعكب حسن ١ املطتدد, ض كع را اؿدخ ع د ع ١ اي كس ع ٢ شز Enter قب زؾع د ي ح ١ املؿات ح, حا أ تك ب ؿظ األ س يه بعد ع ١ اي كس! يد ا اؿدثني : MouseLeave MouseEnter كع اؿدخ األ ع د ا ه ؤغس ايؿأز ٠ ؾ م األدا ٠ باغس ٠, أ ا اؿدخ ايجا ؾ كع ع د ا ىسج ؤغس ايؿأز ٠ طام األدا ٠. - 36

الجزء األول : الفصل الثاني األحداخ right) :MouseDown and MouseUp (left and تكع ع د ا ك املطتدد باضتددا شز ايؿأز ٠ األمي أ األ طس, اؿدخ Down كع ع د ا ت اي كس بصز ايؿأز ٠ قب زؾع األصبع ع ايصز أ ا اؿدخ األخس ؾ كع ع د ا ك املطتدد بإطالم شز ايؿأز ٠, up الحغ ا يد أزبع ١ أحداخ اث ني down ي صز األمي ايصز األ طس اث ني Up ي صز األمي األ طس أ طا. - األد ات : label TextBlock TextBox مج ع ر األد ات تتعا ع اي ص ص ض ا ٤ يف ايط اح ي طتدد بإدخا اي ص ص أ عسض اي ص ص ع, حط ا ي بدأ أ ال ب, TextBox ح ح تط ح ر األدا ٠ بإدخا اي ص ص قب املطتدد جال ضؤا املطتدد ع ع س أ امس.. اخل. - اؿدخ : TextChange كع را اؿدخ باغس ٠ ع د تػ ري قت ٣ TextBox خاص ب ر األدا ٠. األدا ٠ : label تطتدد األدا ٠ label يعسض ص ص ت ض خ ١ ع ٢ املطتدد ج تع ات أ غ ٤ را ايكب, ال دد ايهجري ي خد ح ع يف ر األدا ٠ ؾ بط ط ١ ددا أنجس األد ات غعب ١ يف مج ع ايتطب كات تكس با, يه ا يف Silverlight كت ؿ ١ درز ا. 37

الجزء األول : الفصل الثاني اصا ٥ ص : ااص ١ : Content ع ٢ عهظ label ايعاد يف تطب كات asp.net تطب كات windows form ي ظ يد ا ا خاص ١ Text هلر األدا ٠, ع ضا ع - ذيو يد ا خاص ١ امس ا Content خاص ١ ميه ا أ ؼت ع ٢ أ غ ٤! ع أ غ ٤ حت ٢ أد ات أخس ٣ ج Button ص اد ل ص ص أخس ٣!, غؿس ٠ XAML ايتاي ١ ضت ضح يو ن بإ ها و أ تطع button داخ أدا ٠, label ايػؿس ٠ : 2: 3: 4: 5: 6: 7: <sdk:label Height="89" HorizontalAlignment="Left" Margin="78,140,0,0" Name="label1" VerticalAlignment="Top" Width="250"> <Button Height="64" Width="136"> </Button> </sdk:label> األدا ٠ : TextBlock األدا ٠ امل اش ١ ألدا ٠ label يف تطب كات windows form تطب كات, asp.net أحداخ ر األدا ٠ تطابك ١ ن ا ع ايكا ١ ٥ يف األع ٢, ميه و اضتددا ااص ١ Text ي خص ع ٢ ق ١ ا. 38

الجزء األول : الفصل الثاني األداتني : radiobuttun CheckBox األ ىل تطتدد ي خص ع ٢ عد ٠ خ ازات األخري ٠ تطتدد ي خص ع ٢ خ از احد ف ع ١ خ ازات, ال دد أ دد د يف ر األد ات باي طب ١ ي Silverlight أحداث ا أ طا ؿظ األحداخ ايطابك ١ تكس با اختالف بط ط ؾكط يف ايتط ١ ي خص ع ٢ ق ١ ر األداتني بدال Check أصبخت. IsChecked األداتني : Combbox ListBox حط ا ا يد ا اختالف درز يف ن تا األداتني ع د كاز ت ا ب, windows form أ ال ListBox أصبح أقسب إىل FlowLayoutPanle يف ؿظ اي قت, ListBox مبع ٢ أ ميه أ ؼت ر ؿظ يف أخس ٣ أد ات ع ٢ األدا ٠ اي قت ؼت ع ٢ ق ص ١, أ ا Combobox ؾكد أصبح بإ ها و أ ػع ا ؼت أ طا ع ٢ ايعد د ا ي Combobox دد د حدثني اضاؾ ١ مت ن ا األد ات ايجا اؿدخ أ ا ايكا ١ ٥ إغالم ع د ط ل DropDwonClose, ميه و إضاؾ ١ DropDownOpen ؾ ط ل ع د ؾتح ايكا ١ ٥ باغس ٠, أعتكد طس ك ١ ع اصس إىل اتني األداتني ع طس ل ااص ١ items اإلضاؾ ١ بط ط ١ ددا, باي طب ١ يإلضاؾ ١ خال ايه د ؿظ ايػؿس ٠ يف تطب كات windows form أ تطب كات asp.net مل تػري غ ٤, جا : combobox1.items.add(" test"); 39

الجزء األول : الفصل الثاني األداتا : DataGrid Grid حط ا اتا األداتا أنجس األد ات اييت ضتتعا ع ا, خص صا األدا ٠ ايجا ١ ع د اؿد ح ع ق اعد ايب ا ات, ب طب ١ يألدا ٠ األ ىل Grid ؾ أدا ٠ ميه و خالهلا أ تط هلا ف ع ١ األد ات, ا هب اؿد ح ع دص ٤ أخس ع ١ ايتص, ي ؿرتض أ يد و Button ع ٢ ايػاغ ١ اى غ ٤ ط ٢ مبكابض ايتخه ا أزبع ١ كابض يه أدا ٠ )ايص ز ٠ ع ٢ اي ني(, أحد ع ب Silverlight أ ي ظ بايطس ز ٠ ا تسا أث ا ٤ ايتص ا ضرتا أث ا ٤ ايت ؿ ر, اضخب اي Button إىل األضؿ ث إىل أقص ٢ اي ني ع الحع ١ أ ػع املكابض املؿع ١ املكبض باؾ ١ اي طس ٣ املكبض يف اؾ ١ ايع ا, غػ ايتطب ل اآل, ا عس إىل اي ت ذ ١, مل ص ايصز إىل األضؿ يف أقص ٢ اي ني ن ا املؿرتض أ ه, أغ ل املتصؿح ؾع ر املس ٠ املكبض يف اؾ ١ اي ٢ املكبض يف اؾ ١ ايطؿ ٢, ع إيػا ٤ املكابض ايع ا اي طس ٣. أعد تػػ ايتطب ل ا عس إىل ايهازث ١ اييت أ ا و!! اى ح هلر املػه ١ ؼد د حذ اي ذج عذ املتصؿح ع ضا ع دع حذ اي ذج ت كا ٥ ا, يه يف را اؿا ضتعسض ػس عو بايها يف اد ١ ع ضالح ايد از ايػا يف عامل تص صؿخات اي ب طس ك ١ ايعسض يد ٣ املطتدد أ, Resolutions إذا نا حذ ايعسض يف د اش املطتدد ىت ع 40

الجزء األول : الفصل الثاني طس ك ١ ايعسض يف د اشى زمبا ي ػد أشزاز أصال ي هد أصال صؿخ ١ Silverlight يه تعا ع ا املطتدد. إذا غري اجملد ايتؿهري بتهبري اي ذج, ر املػه ١ عد ؼذ اي ذج ضت يد نازث ١ أث ا ٤ تص اي اذج ايهبري ٠ عا ا )ا عس ايص ز ٠ ع ٢ اي طاز(, اذا تالحغ! ع يكد أصبخت األد ات تداخ ١ أث ا ٤ ايتص يه األ س ي ظ ن ا تسا أث ا ٤ ايت ؿ ر, ا أت د ز األدا ٠ Grid ؾبدال ؼد د كابض احملاذا ٠ يه ع صس ع ٢ حد, ميه و ؾكط أ تط ف ع ١ األد ات إىل Grid عني ث ت ت ؾكط يف كابض اي, Grid تطتط ع أ ؼصز ن عدد اي Grid امل د د يف ايص ز ٠ ع ٢ اي طاز!. األدا ٠ : DataGrid زغ ايتػاب ايهبري يف طس ك ١ ايع هلر األدا ٠ ع غك كت ا يف Windows form إال أ ا كت ؿ ١ عا ا يف طس ك ١ ايتعا ع ايب ا ات, يف ايبدا ١ ابدأ ػس ع دد د ع Silveright أض نالع دد د ي ه بع ا MyFavoWebSite )الحغ أ و ضتط ؿ اىل تطب ل silverlight ي ظ تطب ل,)Web ث أض ر اصا ٥ ص هلرا ايهالع : 2: 3: 4: 5: 6: public class MyFavoWebSite { public string name { get; set; } public string link { get; set; } public bool isonline { get; set; } } 41

الجزء األول : الفصل الثاني يف ايصؿخ ١ ايس ٥ ط ١ ملػس ع silverlight داخ ػ د ايصؿخ ١ ض ك بإ ػا ٤ List را ايهالع, جال باملع ات ايتاي ١ : 2: 3: 4: 5: 6: 7: 8: 9: 10: 1 12: 13: 14: 15: List<MyFavoWebSite> Li = new List<MyFavoWebSite>(); MyFavoWebSite Number_1 = new MyFavoWebSite(); Number_1.isOnline = false; Number_1.link = "www.google.com"; Number_1.name = " google "; MyFavoWebSite Number_2 = new MyFavoWebSite(); Number_2.isOnline = true; Number_2.name = "Silverlight"; Number_2.link = "www.silverlight.net"; Li.Add(Number_1); Li.Add(Number_2); datagrid1.itemssource = Li; ال ت ط ٢ أ تك بإضاؾ ١ datagrid إىل اي ذج, غػ ايتطب ل اآل ا عس إىل اي ت ذ ١, أعسف مل ودخ أ غ ٤ حت ٢ اآل يه إي و ق ال ايطخس, أظ را ايططس قب ؼد د ااص ١ ItemSource بايػه ايتاي : datagrid1.autogeneratecolumns = true; 42

الجزء األول : الفصل الثاني ق بتػػ ايتطب ل اآل, تػري األ س, حا ؼس و األع د ٠ تعد احملت ٣, ن غ ٤ أصبح عد ن ا د أ تهتب غؿس ٠ احد ٠ يتخد د طس ك ١ ايعسض, ايو املص د ر املؿاد ٦ ات ( بظ صربى ع ا غ ١ ), أنجس األحدخ تعا ال يف ر األدا ٠ selectedchange ع صس ع, object جال ي ع د ٠ بايك ١ اييت ق ت بتخد د ا يف جاي ا ا, باضتددا ض غازب : private void datagrid1_selectionchanged(object sender 2:, SelectionChangedEventArgs e) 3: { 4: MessageBox.Show(((MyFavoWebSite)dataGrid1. 5: SelectedItem).name); 6: } مج صخ ح, مبا أ ايك ١ املعاد ٠ عباز ٠ ع Object ؾ ه و ؼ ا ن ا MyFavoWebSite تػا ٤, مبا أ ايع اصس يف داخ Datagrid اي ع يريو دس ٣ ؼ ا هلرا اي ع ث ميه و اي ص صا ٥ ص را ايتص بػه طب ع. ااص ١ طس ل ع د بػه األدا ٠ ر ع اصس تعد ميه و ن ا, Collection ميه و تؿع إيػا ٤ تؿع االخت از املتعدد ع طس ل ااص ١ االخت از املتعدد أ Extended ا SelectionMode اييت تطتكب إ ا Single االخت از املؿسد. أخريا ميه اؿص ع ٢ ب ا ات ا ١ احملدد ٠ د نتاب ١ غؿس ٠ ض غازب احد ٠ ا ض سا يف ايؿكس ٠ ايتاي ١ ع د اؿد ح ع. Data Binding 43

الجزء األول : الفصل الثاني : data Binding أو األدوات بين البيانات ضم زأ ا يف املجا اير يف األع ٢ ن ت اؿص ع ٢ ايب ا ات DataGrid باضتددا ض غازب, اى ص ٠ عع ١ أخس ٣ يف XAML ا تعسف ب data, Binding ح ح مته و ر األخري ٠ اؿص ع ٢ ب ا ات األد ات أث ا ٤ ايتص د نتاب ١ غؿس ٠ ض غازب احد ٠. ؾهس طك ا ملاذا ع ا اضتددا غؿس ٠ ض غازب إذا ن ا سغب يف ك قت ات ايع صس احملدد يف datagrid إىل TextBox جال, ؾهس ن حذ ايػؿس ٠ اييت ضتهتب ا يع ذيو, ا تأت ؾهس ٠, data binding يتخ ر املػه ١ ع ضا ع اضتددا ض غازب أ VB ميه اضتددا XAML يسبط األد ات ببعض دع ع ١ ت اق املع ات أض بهجري أ تت ىل Silverlight ايط از ايطابل اإلؾساؽ ايتعب ١٦ دد د, إي و ن ت األ س : 44

الجزء األول : الفصل الثاني يكد حا يت أ أبطط ايؿهس ٠ قدز املطتطاع, ؾكا ي ص ز ٠ ايطابك ١ ي ؿرتض أ يد ا ايط از ن ا يف ايص ز ٠ اييت ع ٢ اي طاز, ا أز د ع ا تؿع أ عد تؿع ص د م اي ص تبعا يتخد د األدا ٠, RadioButton Enable اذا ي ك بتؿص ايع ق ال, ن ا يف األع ٢ :. TextBox األدا ٠ اييت ضتتأثس أ تأخر ايب ا ات. IsEnable ض ت ت ؿ ر ايب ا ات يف ااص ١ اض األدا ٠ اييت ض أخر ا ايب ا ات RadioButton ؼ االض. radenale. IsChecked اض ااص ١ اييت ض خص ا ع ٢ ايب ا ات ن تت قع حذ ايػؿس ٠ يع را األ س, ا عس اىل ايططس يف األضؿ : 2: <TextBox IsEnabled="{Binding ElementName=radEnable, Path=IsChecked}" /> ؾكط! جا أخس ي ه يد ا أدا ٠ Slider أز د أ أق بتػ ري ق ١ TextBox ر املس ٠ بك ١ قدد ٠ يف,Slider )ا عس ايص ز ٠ ع ٢ اي طاز(, ي ستب اذا س د أ ؿع : 45

الجزء األول : الفصل الثاني األدا ٠ اييت ضتتأثس. TextBox ض ت ت ؿ ر ايب ا ات ع ٢ ااص ١. Text اض األدا ٠ اييت ض أخر ا ايب ا ات. Silder1 اض ااص ١. value ؾكط أض ايططس ايتاي إىل ضطس ص د م اي ص يف : XAML Text="{Binding ElementName=slider1,Path=Value}" اآل ي عد إىل جاي ا ايطابل املتع ل ب, datagrid ا يد ا ػه ١, ؾعدد ايك اييت ت اخت از ا ر املس ٠ ي طت احد ٠, ا أقصد ا أ ن ص يف datagrid ب ثالث ١ ق, ا أز د اؿص ع ا ااص ١, name يع ج را األ س م عاد ١ إىل طبك ١ ض ط ١ ع ح تطتط ر ايطبك ١ ايع صس اير ث ؼد د اي, datagrid ث خال را ايع صس أضتط ع أ أص إىل ااص ١ name امل د د ٠ ؾ, را ايع صس اي ض ط عباز ٠ ع. Stackpanel StackPanel أدا ٠ غب ١ ددا ي grid إال أ ا تؿسض ع و أض ب تست ب عني يألد ات اييت بداخ ا, ؿ د ٠ ددا ع د ا تس د ايتأند ن ا أ ف ع ١ األد ات هلا تست ب عني ت اضك ١ يف ايط االزتؿاع. 46

الجزء األول : الفصل الثاني يف املجا ايطابل دع datagrid غأ ا, يه أض StackPanel إىل اي ذج ضع بداخ ا, TextBox )ا عس ايص ز ٠ يػسح طس ك ١ ايع ( : ألخر ايب ا ات datagrid ض ختاج ي داص ١, SelectedItme أ ا ااص ١ املطت دؾ ١ يف, datacontext Stackpanel ايػؿس ٠ : 2: <StackPanel DataContext="{Binding ElementName=dataGrid1, Path=SelectedItem}"/> بعد اؿص ع ٢ ايع صس اير مت ؼد د ض ك إىل Textbox مبا أ, name بايتاي ض خت ع ٢ ااص ١ MyFavoWebSite اي ع Object إذا ااص ١ اييت ض خص ع ا ايب ا ات name ااص ١ اييت ضتتأثس, Text ا يط ا عاد ١ يتخد د املصدز أل املصدز ت كا ٥ ا ض ف ه, StackPanel ايػؿس ٠ : 47 <TextBox Text="{Binding Path=name}" />

الجزء األول : الفصل الثاني يف ا ١ األ س تعت د تطب كات Silverlight بػه نبري ددا ع ٢ ؿ data binding مل عد ك بط ايب ا ات بني األد ات خال ض غازب أ, VB ال أبايؼ إ أخربتو أ اي ادز ددا أ تس ٣ ج را األ س ودخ يف تطب كات Silverlight اؾ د ٠ ع ٢ األق, يريو امل ددا أ تؿ ر اي كط ١, إذا مل أؾ ح يف ت ض ح ر اي كط ١ زادع صد ك ا ايصد م Google ؾطتذد ن ا ٥ املكاالت ح ر اي كط ١. البيانات من التحقق وvalidation Data اؾص ٤ األخري را ايؿص ض تخدخ ؾ ع أحد األ ز األضاض ١ يف عامل Silverlight ايتخكل صخ ١ ايب ا ات, زأ ا يف ايؿص ايطابل ن تت ع ١ ض ايب ا ات Data binding اآل ض طتدد ر ايتك ١, دع Silverlight تك بػه غ ٤ ع ا. : ي ؿرتض أ يد ا ايتص ايتاي اير ميج ظ 2: 3: 4: 5: 4: 6: public class Emp { public string name { get; set; } public int age { get; set; } public string web { get; set; } public double salary { get; set; } } 48

الجزء األول : الفصل الثاني اط ٠ يف ايتاي ١ بإ ػا ٤ نا ٥ ض ك را ايتص Binding هلرا ايها ٥ يف اي ذج ذيو بع ١ ك ض ف يف املػ د ايس ٥ ط ي صؿخ ١, ايػؿس ٠ : 2: 3: 4: 5: 6: public MainPage() { InitializeComponent(); Emp Omar = new Emp(); this.datacontext = Omar; } ث يد ا تص بط ط هلر ايصؿخ ١ ؾ أزبع ١ ع اصس,TextBox ن ايص اد ل مت ع, Omar هلا ع خصا ٥ ص ايها ٥ Binding ا عس إىل غؿس ٠ XAML ايص ز ٠ ع ٢ اي ني ي ذج : 2: 3: 4: <TextBox Text="{Binding name}"/> <TextBox Text="{Binding age}"/> <TextBox Text="{Binding salary}"/> <TextBox Text="{Binding web}"/> إذا ق ت بتػػ ايتطب ل األ ضتالحغ ظ ز ايسق 0 ع د حك ايع س ايساتب. ا أز د ؾع ا ايتخكل دخالت املطتدد يف حك ايع س االض ع ح ال بدأ االض باؿسف D جال ايساتب ع ح ال تذا ش 0000 ز ا. 49

الجزء األول : الفصل الثاني ي بدأ أ ال بايع س ايساتب, خال ض غازب أحد أنجس ايطسم املتبع ١ ي تأند أ ايب ا ات املدخ ١ اي ع Integer ؼ ايك ١ إىل integer ؾإ متت بػه صخ ح ي ه يف ايطس ل إ مل تت ايع ١ بػه صخ ح نرب املطتدد بطس ز ٠ تصخ ح األ س. زمبا تهتب غ ٤ را ايكب جال : 2: 3: 4: 5: 6: 7: 8: 9: public bool CheckNumberAsInteger(string number) { Try { int.parse(number); return true; } catch { return false; } } يه أ ت اآل يف عامل Silverlight ح ح ن غ ٤ أبطط مما تتد, دسب ؾكط اضاؾ ١ خاص ١ ValidatesOnExceptions إىل اي ض Data Binding يف, XAML ب را ايػه إىل ص اد ل ايع س ايساتب : 2: Text="{Binding age,mode=twoway,validatesonexceptions=true}" ؾكط! غػ ايتطب ل اآل ا عس إىل اي ت ذ ١ ادع ي. 50

الجزء األول : الفصل الثاني حط ا ا ايؿسم بني تسى ١ ايتخكل إىل Silverlight بني أ ته أ ت املطؤ ع ا, أضتاذ ايعص ص بع دا ع ايػؿس ٠ ا ب ػت دزد ١ ملطتو ايؿ ١ يف إبالؽ املطتدد ب را اطأ ي ته أمج طس ك ١. Silverlight باإلضاؾ ١ طبعا إىل ض ي ١ ايػؿس ٠ ن ا كاز ١ ع غؿس ٠ ض غازب. حط ا ي ه, باي طب ١ ؿك ايساتب ا شا يد ا ػه ١ ؾأ ا ا أز د أ أدع ايساتب ال ص د ع 0000 ز ا, اؾص ٤ األ ع ١ ايتخكل املتع ل بأ ايك ١ البد أ ته زق ا مت ح ا يه بك اؾص ٤ ايجا. قب أ ه يف اؾص ٤ ايجا اى خاص ١ هب ا كاؾ ا يف, VS خاص ١ Silverlight اهلدف إ كاف ر ااص ١ دع enable just my code تعاجل اطأ ي ظ, VS إل كاف ر ااص ١ ت د إىل > Option Tools > Debugging > Enable Jest My Code ق بإيػا ٤ تؿع ا إذا مل تع س يو مج ع ا ازات ق بتؿع ااص ١ Show all setting )ا عس ايص ز ٠ يف األضؿ (. 51

الجزء األول : الفصل الثاني ض ك بتعد غؿس ٠ ض غازب ايطابك ١ ااص ١ بايها ٥, Emp بايػه ايتاي : 2: 3: 4: 5: 6: 7: 8: 9: 10: 1 12: 13: 14: 15: 16: 17: 18: 19: public class Emp { public string name { get; set; } public int age { get; set; } public string web { get; set; } double _salary; public double salary { get { return _salary; } set { if (value > 5000) { throw new Exception("Salary Can't be more than 5000 SR"); } _salary = value; } } } 52

الجزء األول : الفصل الثاني الحغ ااص ١ مل أق بتػ ري أ غ ٤ يف اي اقع ض ٣ طس ك ١ ايتعا ع ااص ١ salary الحغ ن تت عاؾ ١ ق ١ ايتأند ت أ ا ن 5000 salary أنرب إذا ؼكل أق ايػسط بس Exception ع اطأ, أعد تػػ ايتطب ل اآل أدخ ق ١ أنرب 0000 ا عس اذا ودخ باي طب ١ اص ١ االض, ميه و ع ا ب ر ايطس ك ١ : 2: 3: 4: 5: 6: 7: 8: 9: 10: 1 12: 13: string _name; public string name { get { return _name; } set { if (value.startswith("d")) { throw new Exception("name can't start with Letter D "); } _name = value; } } اشا يف دعبيت املص د ح, data validation ي ه اي كط ١ ايتاي ١ : 53

الجزء األول : الفصل الثاني اذا إذا أزدت أ تتخه بع ١ ايتخكل, جال تس د أ تع س ع صس TextBox اير وت ع ٢ اطأ غ ؿ ١ صؿسا ٤, اى طس كتني إ ا تعد Stats ااص بع ١ ايتخكل Blend ن ا زأ ا, أ باضتددا ض غازب, ي ذسب األ س ع ٢ TextBox ااص بايساتب, يف ايبدا ١ ع ا إضاؾ ١ ض دع ق ت true إىل,TextBox را اي ض ىرب Silverlight بأ و تس د ايتخه بع ١ ايتخكل NotifyOnValidationError=True اي ض ظا ب را إضاؾ ١ ت طبعا اي ض ااص ١ يف األخس ٣ Binding, TextBox مبا أ و ألدا ٠ تس د ايتخه بع ١ ايتخكل, ترنس غ ٤ دا ٥ ا ميه و ايتخكل أدا ٠ ع ١ خازج أدا ٠ أنرب ا مبع ٢ ميه و ايتخه ب Buttun د د داخ StackPanel StackPanel اي ذج, ميه و ايتخه به غ ٤ ع ٢ اصا ٥ ص أ حد خ خال ق أخطا ٤ Grid بايطػط يف ن ايتاي ١ بداخ, ايػؿس ٠ : طبعا ع ٢ األد ات اييت ؼ اؿدخ امل د د ٠ االض, LayoutRoot BindingValidationError. اي ر داخ grid ط ل انتب غس ط ع د ايػؿس ٠ 2: 3: 4: 5: 6: 7: 8: if (e.action == ValidationErrorEventAction.Added) { (e.originalsource as Control).Background = new SolidColorBrush(Colors.Yellow); ToolTipService.SetToolTip((e.OriginalSource as TextBox), e.error.exception.message); } if (e.action == ValidationErrorEventAction.Removed) 54

الجزء األول : الفصل الثاني 9: 10: 1 12: 13: 14: { (e.originalsource as Control).Background = new SolidColorBrush(Colors.White); ToolTipService.SetToolTip((e.OriginalSource as TextBox),null); } إذا عدت إىل غؿس ٠ XAML ضتذد أ VS قد أضاف ض دد د ي خدخ, ايػؿس ٠ : 2: <Grid x:name="layoutroot" Background="White" BindingValidationError="LayoutRoot_BindingValidationError"> اى خطأ د د ع د طس كتني اطأ د د إ ا 55 ا ت ٢ أ Add ب ت ج اطأ ت ج ب, Removed ا أق بع ا أ املتػري e يد خاص ١ امس ا OriginalSource عباز ٠ ع نا ٥ ميج أ غ ٤ ط ل را اطأ مبا أ أز د عاؾ ١ األخطا ٤ اييت ت ط ل أد ات TextBox ؾاألخري ٠ عباز ٠ ع SolidColorBrush ؾأق بتػ ري ي ا ؿ ١ ح ح تأخر األخري ٠ Contorls,Blend يف زأ ا ن ا ToolTipService اير ايعهظ. قع أع د يف سز أخريا هلا Removed TextBox إىل أض اطأ ودخ اي األب ض أدع ق ١ ToolTip ؾازغ ١, )ا عس ايص ز ٠ ع ٢ اي ني(, ا ت ا, Data validation ت بعد ( صربى ع ا ا ح ), ي ه. مل نال

الجزء األول : الفصل الثاني بك يد ا كط ١ أخري ٠ ع د اؿد ح ع ايتخكل ايب ا ات دص األخطا ٤, باضتددا أد ات تط ٢ ValidationSummary ميه و عسض دص يه األخطا ٤ اييت قع ب ا املطتدد أث ا ٤ تعب ١٦ اي ذج, يف ايبدا ١ ع ا إضاؾ ١ References إىل ػس ع Silverlight حدد املػس ع ث ا كس بصز ايؿأز ٠ األمي اخرت Add References ضتع س قا ١ ٥ References اعح ع, System.Windows.Controls.Data.Input اآل ع ا إضاؾ ١ را املسدع إىل ايصؿخ ١ اييت ع ع ا أض ر املسدع إىل ايػاغ ١ بايػه ايتاي : غؿس ٠ أضؿ إىل أ ص تػ ل أ قب أدا ٠ أض ؾكط Grid XAML : ValidationSummary <ds:validationsummary Grid.Row="4" /> 56

الجزء األول : الفصل الثاني الحغ أ grid.row متج عدد األخطا ٤ اييت ميه أ تعسض ا ع ٢ املطتدد يف املس ٠ اي احد ٠, عد إىل غاغ ١ ايتص ا عس إىل أدا ٠ دص ايتخكل, حا تصػري األدا ٠ حت ٢ تس ٣ ن األد ات ؼت ا, تع اذا تبك ٢, ؾكط ق بتػػ ايتطب ل بايطػط ع ٢. F5 57

أعماق في الثاني: الجزء Silverlight يف هرا ادتصء ضتتعسف على العد د من األم ز األكثس تط سا يف Silverlight مثل التخص ن على جواش العن ل ق اعد الب اىات من خالل Silverlight خدمات ال ب ال ضائط املتعددة, ض شلل هرا ادتصء ىكطة حت ل يف طس كة تعاملم مع تطب كات Silverlight لرلم كن مطتعدا ج دا, أزج أن تالحظ أى لن أتطسق مثال إىل ADO.net أ ك ف ته قساءة ملفات XML ما شابى ذلم فورا اللتاب ل ظ م جى لتعله ض شازب أ ADO.net لرلم البد أن متتلم هري اخلربات ضابكا. بعد االىتواء من هرا ادتصء جيب أن ضاف إىل معسفتم التال : ختص ن الب اىات على جواش املطتخدو. التعامل مع خدمات ال ب. التعامل مع ق اعد الب اىات. التعامل مع ال ضائط املتعددة. 58

الجزء الثاني : الفصل الثالث الفصل الثالث : تخزين البيانات على جهاز المستخدم ع ٢ إذا أ ع ت اي ظس يف ايطس ك ١ اييت تطتخد يتطذ ايدخ يف ن امل اقع تكس با, أ ت تك بتطذ ايدخ س ٠ احد ٠ ع ٢ د اشى يف املس ٠ ايكاد ١ ع د ا تدخ ط ٢ تطذ ت امل قع دخ يو امل قع فع ا, ت كا ٥ ا ب Cookies ع ٢ د اش ايصا ٥ س, يألضف ال تدع باشس ع ١ اي ا بتخص قا أ ا Silverlight 4 بشه cookies ع ضا ع ذيو ت اضتخدا Cookies ارتاص ب, asp.net ضتتعسف يف را ايفص ن ف تك بإ شا ٤ Cookies خاص بو ن ف تك بايكسا ٠٤ ايهتاب ١ داخ را امل ف. بعد اال ت ا ٤ را ايفص جيب أ طاف إىل عسفتو ايتاي : ايتعسف ع ٢. IsolatedStorageFile ايهتاب ١ ايكسا ٠٤ باضتخدا. IsolatedStorageFile 59

الجزء الثاني : الفصل الثالث التعرف على IsolatedStorageFile حط ا ا, IsolatedStorageFile باختصاز شد د طس ك ١ أ آي ١ مته و ختص فات ع ٢ د اش املطتخد, ض ا ٤ نا ت ر امل فات Text أ XML أ أ ع فات خاص بو, يد أض ب خاص بايكسا ٠٤ ايهتاب ١ ن ا ض س ٣ الحكا يف را ايفص. اى شه تني ع د ايتعا ع ر اي ع امل فات, أ ال ال ط ح يو بهتاب ١ فات أنرب 2 ذا, أ طا ترنس دا ٥ ا أ أ ان ختص ر امل فات ض ددا ايعج ز ع ا يريو ع د ختص ن ات املس ز ع و دا ٥ ا أ تترنس بطس ز ٠ تشفري ا, أ طا إذا نا ت املطاح ١ اييت ضتهتب ب ا امل ف غري ناف ١ ض ط ل Silverlight خطأ بشه باشس, أخريا ميه ي طتخد أ مي ع نتاب ١ أ ١ فات ع ٢ د اش به ض ي ١ أ حت ٢ أ ط ح يو باي ص إىل ايكسص ايص ب يف د اش يد ٣ IsolatedStorageFile ايعد د ايطسم أ ا ا : ايع إ شا ٤ زت د إ شا ٤ ف حرف زت د حرف ف ايتأند د د زت د ايتأند د د ف اض ايطس ك ١ CreateDirectory CreateFile DeleteDirectory DeleteFile DirectoryExists FileExists 60

الجزء الثاني : الفصل الثالث طخ أ ك زت د طخ أ ك ف MoveDirectory MoveFile اى أ طا ايعد د ايطسم األخس ٣, ميه و سادع ١ فات MSDN ي خص ع ٢ ع ات أنجس.. القراءة و الكتابة باستخدام IsolatedStorageFile ي فرتض أ يد ا TextBox أداتني Button األ ذتفظ ستت ات اي ص اآلخس يتخ ستت ات اي ص, )ا ظس ايص ز ٠ ع ٢ اي طاز (, ا أز د ايك ا ب ا, حفظ ق ١ را ايص د م ع ٢ د اش ايع, ث قسا ٠٤ را امل ف ع د اي كس ع ٢ شز, Load ي بدأ ع ١ ايهتاب ١. 61

الجزء الثاني : الفصل الثالث ض ك بإ شا ٤ طس ك ١ يهتاب ١ امل ف بط ط ١ ددا ددا إذا ن ت تع ن ف ت ايتعا ع Stream Write قب ( تأند اضتدعا ٤ فطا ٤ األمسا ٤ ) System.IO.IsolatedStorage system.io, إي و ايطس ك ١ : 2: 3: 4: 6: 7: 8: 9: 10: 1 12: 13: private void SaveData(string data, string filename) { using (IsolatedStorageFile isf = IsolatedStorageFileStream(fileName, FileMode.Create, isf)) { using (StreamWriter sw = new StreamWriter(isfs)) { sw.write(data); sw.close(); } } } حط ا ال ت صد ط ايشفس ٠ فه ا يف األ س أ أنتب ف ي اض ت متس س يد ب ا ات ت متس س ا أ طا, ث أ شأ نا ٥ IsolatedStorageFile اير بد ز ك بإ شا ٤ ايها ٥ StreamWriter ح ح ت ايهتاب ١, ميه ايع د ٠ إىل قع MSDN ي ص د املع ات ع,StreamWriter ارتط ٠ ايتاي ١ ت ف ر ر ايطس ك ١, ق بإ شا ٤ حدخ Click يألدا ٠ Button اضتدع ايطس ك ١ سز هلا ايب ا ات امل د د ٠ يف ص د م اي ص ع اض امل ف ي ه, Test.txt ايشفس ٠ : 62

الجزء الثاني : الفصل الثالث 2: 3: 4: 5: private void button1_click(object sender, RoutedEventArgs e) { SaveData(textBox1.Text, "test.txt"); } شػ ايتطب ل دسب األ س, ي تس ٣ ش ٤ حيدخ, يه إ ذ بت إىل املطاز ايتاي : C:\Users\<UserName>\AppData\LocalLow\Microsoft\ Silverlight\is ث بعد زت د is احبح ع زت د ايتطب ل ارتاص بو, ضتذد ف test.txt اير يف ق ا بهتابت ب اي ص اير ق ت بهتابت ( TextBox ا ظس ايص ز ٠ ع ٢ اي طاز ). الحظ أ ها نتاب ١ امل ف خيت ف د اش إىل أخس ال تطتط ع اذتص ع ٢ طاز حد يريو ع و أ تبخح ق ال ع امل ف يف زت ع اجمل دات امل د د ٠ داخ. is ع د حبجو ع املطاز املرن ز أعال قد حتتاج إىل ع ١ اظ از زت د, AppData ح ح ه را اجمل د شتف افرتاض ا, يريو جيب ع و اظ از أ ال. 63

الجزء الثاني : الفصل الثالث 2: 3: 4: 5: 6: 7: 8: 9: 10: 1 12: 13: 14: 15: 16: 17: 18: 19: اآل ي خا ايكسا ٠٤ را امل ف, ق بهتاب ١ ايطس ك ١ ايتاي ١ : private string LoadData(string filename) { string data = String.Empty; using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream isfs = new IsolatedStorageFileStream(fileName, FileMode.Open, isf)) { using (StreamReader sr = new StreamReader(isfs)) { string lineofdata = String.Empty; while ((lineofdata = sr.readline())!= null) data += lineofdata; } } } return data; } ر املس ٠ يد ا StreamReader بدال StreamWriter أ طا تعد ايطس ك ١ String بدال ن ا, void ا شأ حدخ Click يف أدا ٠ Button املط ٢ Load اضتدع ايطس ك ١, ث سز هلا اض امل ف ادع ايك ١ املعاد ٠ ت ضع يف ص د م اي ص, ايشفس ٠ : textbox1.text = LoadData("test.txt"); 64

الجزء الثاني : الفصل الثالث شػ ايتطب ل اآل ا كس ع ٢ شز Load ر املس ٠ ا ظس ي ت ذ ١. ا يد ا شه تني ي بدأ ع األ ىل, ق بتشػ ايتطب ل ا كس بصز ايفأز ٠ األمي ضتظ س يو افر ٠ اعدادات Silverlight حدد ايتب ب, Application storage ضتالحظ ف بإيػا ٤ ارت از, ع ضا ع ذيو Cookies اير ق ت بهتابت يف ايكا ١ ٥, أضف را ايتب ب ق, Enable application Storage ر املس ٠ ي ت ت ف ر ايتطب ل ضرت ٣ افر ٠ Debugger املش ١ ٦,)ا ظس ايص ز ٠ يف األضف ). ذت ر املشه ١, ترنس دا ٥ ا أ تطع أ ستا ي ١ ي هتاب ١ أ ايكسا ٠٤ داخ مج ١, try catch ضأع د طس ك ١ االضتدعا ٤ يف ايع صس Load جال, بشه ايتاي : 2: 3: 4: 5: 6: 7: 8: 65 try { textbox1.text = LoadData("test.txt"); } catch (Exception Error) { MessageBox.Show(Error.Message); }

الجزء الثاني : الفصل الثالث املشه ١ األخس ٣ إذا مل ه امل ف يف األص د د! ذت ر املشه ١ ميه و اضتخدا ايطس ك ١, FileExists سز هلا اض امل ف, ح ح تع د ر ايطس ك ١ true إذا نا امل ف د د أ false إذا نا امل ف غري د د, ب ر ايطس ك ١ : 2: 3: 4: 5: 6: IsolatedStorageFile store; store = IsolatedStorageFile.GetUserStoreForApplication(); if (store.fileexists("test.txt")) { textbox1.text = LoadData("test.txt"); } أ ا ع د حرف امل ف ي فرتض يف حاي ١ أ املطتخد قسز ط ا ب ا ات جال, ميه ا اضتخدا, DeleteFile ايشفس ٠ : 2: 3: 4: 5: 6: IsolatedStorageFile store; store = IsolatedStorageFile.GetUserStoreForApplication(); if (store.fileexists("test.txt")) { store.deletefile("test.txt"); } زأ ا يف را ايفص ن ف تت ختص األ ز يف, Silverlight ا األخطا ٤ اييت امل ه أ تكع أث ا ٤ ع ١ ايهتاب ١ ايكسا ٠٤ ن ف متت عادت ١ ر األخطا ٤, اضتخد ا يف را األ س ايها ٥ IsolatedStorageFile اير ت ح يو خد ات ا طا ١ د ١. 66

الجزء الثاني : الفصل الرابع الرابع الفصل : الوصول الويب لخدمات يكد زأ ا ن ف أ تطب كات Silverlight عباز ٠ ع تطب كات ت ت ف ر ا ع ٢ د اش ايع ي ظ ع ٢ د ١ املطتدد! اذا عين را, به بطاط ١ را عين أ و ي تطتط ع ت ف ر شفسات االتصا بكاعد ٠ ايب ا ات جال باشس ٠ خال web service يريو ع و أ تط ف طبك ١ أخس ٣ ا أت د ز Silverlight, ا ض تشدخ ع يف را ايفص عباز ٠ ع كد ١ ي ص ي فص ايكاد احلد ح ع ق اعد ايب ا ات. بعد اال ت ا ٤ را ايفص جيب أ طاف إىل عسفتو ايتاي : إ شا ٤ خد ١. web service اي ص خلد ات اي ب ع طس ل. Silverlight احلدخ. Async ايتعا ع احلدخ. completed 67

الجزء الثاني : الفصل الرابع سط ا ي بدأ, ض ف أبدأ شس ع دد د Silverlight ي ه اض املشس ع جال Button فكط ق بإضاف ١ Silverlight يف صفش ١ webserviceexml TextBox يف تصف ايصفش ١ جال, مبا أ ا ض تعا ع, WebSercice إذا ض تك إىل ايطسف األخس املشس ع ر املس ٠ web project يف, جاي ا ا ض ه اض را املشس ع, webserviceexml.web اضػط بصز ايفاز ٠ األمي اخرت اضاف ١ ث إضاف ١ ف دد د ع ( WebService ميه و ايبشح األع ٢ ع )WebService ي ه اض امل ف اجلد د. OK ث اضػط ع ٢ SendingEmailService.asmx سط ا ي أت إىل تفطري ر ايطالض, السظ ايتع ل يف األع ٢, اير خيربى بأ و إذا أزدت اي ص إىل ر اخلد ١ خازز را ايتطب ل ع و تفع ايططس اير يف االضف, إذا اخلط ٠ األ ىل إشاي ١ عال ١ ايتع ل جلع ر ايططس ايه د, اسرف ايطس ك ١ HelloWorld مبا يف ذيو ن ١ [ WebMethod ]أل ا ض ك بإ شا ٤ طس ك ١ تك بإزضا بس د ايهرت, إي و شفس ٠ ايطس ك ١ : 68

الجزء الثاني : الفصل الرابع 2: 3: 4: 5: 6: 7: 8: 9: 10: :11 12: 13: 14: 15: 16: 17: 18: 19: 20: 2 22: public bool SendingEmail(string emailfor) { System.Net.Mail.MailMessage MyMailMessage = new System.Net.Mail.MailMessage(" املسض,"بس د emailfor, ي ص يو نجريا اس و ايعص ص صد ك ","ض فسال ت سسبا" ;(" ر اي كط ١ يف ايهتاب, مج ددا تابع إىل اال ا MyMailMessage.IsBodyHtml = false; System.Net.NetworkCredential mailauthentication = new ن ١ املس ز,"بس دى ايهرت System.Net.NetworkCredential(" ;("اخلاص ١ بو " System.Net.Mail.SmtpClient mailclient = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587); mailclient.enablessl = true; mailclient.usedefaultcredentials = false; mailclient.credentials = mailauthentication; Try { mailclient.send(mymailmessage); return true; } catch { return false; } } 69

الجزء الثاني : الفصل الرابع تطتكب ر ايطس ك ١ ايرب د اخلاص مبطتكب ايسضاي ١ السظ أ و إذا أزدت ت ف ر ر ايطس ك ١ ضتك بتػ ري ن ١ املس ز املسض هلر ايسضاي ١, أ طا البد أ ه ايرب د gmail أل دلا ف ا خيص stmp ق بب ا ٤ املشس ع ايكا ١ ٥ Build أ خال, CTRL + Shift + B بعد أ ت ت ر ايتعد الت عد إىل Silverlight سدد شس ع Silverlight ا كس بصز ايفأز ٠ األمي اخرت اخل از add Service Reference ضتظ س يو افر ٠ إضاف ١ خد ات اي ب ( ا ظس ايص ز ٠ ع ٢ اي ني(, ا كس ايصز Discover ست ٢ ت إجياد اخلد ١ اييت ق ا بع ا قب ق, السظ أ و إذا مل تك بتفع ايتع ل ن ا أخربتو ضابكا ي تس ٣ ر اخلد ١ يف ر ايشاش ١, ص د م اي ص باألضف غري اض فطا ٤ األمسا ٤ إىل SendingEmailServices, ث اضػط ع ٢ افل, ض ك ع د ا VS بت ي د شفس ٠ اخلد ١ بايها, ال بك يو ض ٣ اضتددا ر اخلد ١. 70

الجزء الثاني : الفصل الرابع ضتالسظ إضاف ١ دل د دد د حي االض Service References بداخ اخلد ١ اجلد د ٠ اييت ق ت بب ا ٥ ا قب حلظات ( ا ظس ايص ز ٠ ع ٢ اي طاز ), اآل ق باي كس ع ٢ اي Button اير ق ت بإضافت ع ٢ ايصفش ١ ايس ٥ ط ١ يف ايبدا ١ يت ي د احلدخ click يف, أع ٢ ايشاش ١ جيب ع و أ ال أ تك باضتدعا ٤ دلا األمسا ٤ اير ق ا بإ شا ٥ خال Add Service References يف, أع ٢ شاش ١ ايشفس ٠ أضف املشس ع web نفطا ٤ أمسا ٤ ست ٢ تطتط ع اي ص هلر اخلد ١ اييت ق ت بإ شا ٥ ا قب ق, بايشه ايتاي : using webserviceexml.sendingemailservices; اآل ت د إىل احلدخ, Click ا ض ك ب يف ايشفس ٠ ايتاي ١ إ شا ٤ نا ٥ اي ع WebServiceExmplSoapClient خال را ايها ٥ تطتط ع اي ص يه ايطسم امل د د ٠ يف اخلد ١ اييت ق ت بإ شا ٥ ا يف شس ع اي ب ن ا زأ ا ضابكا. ق بإ شا ٤ نا ٥ دد د را اي ع, ث سا اضتددا ي ص ي طس ك ١ اييت ق ا بهتابت ا ف, اذا تالسظ 71

الجزء الثاني : الفصل الرابع صش ح مل جتد ر ايطس ك ١!! ملاذا ايطبب اى قا ص ع ٢ اآلت " أ طس ك ١ تس د اي ص هلا د د ٠ يف Web Service البد أ ته طب ق ١ باي ض [WebMethod], يريو ي عد ملشس ع اي ب ي طف را اي ض ف م ايطس ك ١ اييت ق ا بب ا ٥ ا ضابكا, )ا ظس ايص ز ٠ يف االضف ي ت ض ح أنجس ) : اآل أعد ب ا ٤ ايتطب ل دد د, إذا سا يت دلددا اي ص هلر ايطس ك ١ ي تف ح, ع و أ ال حتد ح اخلد ١ يف د ١, Silverlight يريو اذ ب إىل دل د Service References سدد اخلد ١ اييت ق ا بإ شا ٥ ا ضابكا ا كس بصز ايفأز ٠ األمي اخرت, Update Service References ض ظ س أ ا و عاجل ايتشد ح, ا تظس حلظات ست ٢ اال ت ا ٤. بعد أ ت عاجل ايتشد ح حتد ح اخلد ١, عد دلددا إىل احلدخ Click سا اي ص ي طس ك ١ ايطابك ١ خال املتػري اير ق ا بتعس ف ضابكا, ر املس ٠ ضرت ٣ أ بإ ها و اي ص ي طس ك ١ ايطابك ١ بطال ( ا ظس ايص ز ٠ ع ٢ اي طاز (, يه األ س خمت ف ق ال, دعين أشسح ايفهس ٠, 72

الجزء الثاني : الفصل الرابع يه طس ك ١ تك بب ا ٥ ا يف ف WebService ت إ شا ٤ طس ك ١ ي ص هلا ت ت به ١, Async ع د ا ت ت ت ف ر ر ايطس ك ١ هتب بعد ا سدخ آخس ت بايه ١. Completed اضتدع ايطس ك ١ SendingEmailAsync سز هلا ق ١, TextBox ث ق بتفع احلدخ Completed بعد أ تهتب SendingEmailCompleted خر طاف ١ اسد ٠ انتب عال ١ شا ٥ د بعد ا عال ١ طا, ث ا كس ع ٢ شز tab ستني تتاي ١ ي س ١ املفات ح باشس ٠ يه ت ت ي د شفس ٠ احلدخ بشه آي. املفرتض أ ته شفستو اآل ب را ايشه : كع احلدخ Completed ع د ا ت ت Silverlight ت ف ر ايطس ك ١ SendingEmailAsync باشس ٠, أ ا ع اي تا ٥ ر املعاد ٠ ف ت ضع ا يف اخلاص ١. Completed اخلاص باحلدخ e اخلاص ١ باملتػري result اآل ي ه ا أز د أ أفع ا إيػا ٤ تفع Button TextBox باشس ٠ بعد اضتدعا ٤ ايطس ك ١, SendingEmailAsync ث أع د تفع ا بعد ت ف ر ايطس ك ١, ع إخباز املطتدد مت إزضا ايسضاي ١ ب ذاح أ ال, ضأضع ر ايططس بعد اضتدعا ٤ ايطس ك ١ باشس ٠ إليػا ٤ تفع األد ات : 73

الجزء الثاني : الفصل الرابع 2: textbox1.isenabled = false; button1.isenabled = false;,, Click داخ ذيو احلدخ أت ي طسف اآلخس املعادي ١ احلدخ إىل Completed ايشفس ٠ : 2: 3: 4: 5: 6: 7: 8: 9: 10: if (e.result) { ;(" ب ذاح ايرب د ازضا مت MessageBox.Show(" } else { ;(" ): ب ذاح ايرب د ازضا ت مل عف ا MessageBox.Show(" } textbox1.isenabled = true ; button1.isenabled = true ; ال أضتط ع أ أشسح ش ٤ يف ر ايشفس ٠, اضػط ع ٢ F5 يتذسب ١ ايتطب ل, ادخ بس د املسض إي يف, TextBox املفرتض أ ع ايتطب ل بطال. 74

الجزء الثاني : الفصل الرابع سط ا يكد ادتصت خط ٠ ددا ١ يف تطب كات Silverlight ال أبايؼ إ أخربتو بأ ا كازب %09 ايتطب ل ض ه يف شس ع Web ي ظ يف تطب ل Silverlight ع د ا أت احلد ح يك اعد ايب ا ات أ جال زفع امل فات أ إزضا يرب د إيهرت... اخل. 75

الجزء الثاني : الفصل الرابع يكد تعسفت يف را ايفص ن ف تطتط ع ايت اص ع خد ات اي ب, ن ف تطتط ع ب ا ٤ اسد ٠ اضتددا ا, ن ف تطتط ع اضترياد ر اخلد ١ إىل تطب كات, Silverlight يكد تع دت أ ال أنتب اي ض [WebMethod] ست ٢ أدع و تطتدد اخلاص ١ Update Service References اييت فعال تكد يو خد ١ د ١ ددا ي تطتط ع أ تف ا سك ا ايشهس. ق بتفشص ايرب د اير أزض ت ي ايسضاي ١ إىل اخلط ٠ ايتاي ١. اذا أزدت جتسب ١ ايشفس ٠ املسفك ١ هلرا ايفص, ال ت ط ٢ أ تك بتػ ري ايرب د االيهرت ن ١ املس ز يف ايطس ك ١ SendingEmail امل د د ٠ يف خد ١ اي ب. 76

الجزء الثاني : الفصل الخامس الخامس الفصل : البيانات لقواعد الوصول يكد تعسف ا يف ايفص ايسابل ع ٢ خد ات اي ب, زأ ا ن ف ت ايتعا ع خد ات اي ب خال, Silverlight يف را ايفص س ستخد ا تكد يف ايفص ايسابل يه س ٣ ن ف ت اي ص يك اعد ايب ا ات, املفرتض بعد تعسفو ع ٢ خد ات اي ب أ ه األ س ا أنجس بساط ١ بهجري, فه ش ٤ عباز ٠ ع, WebService أ ضا س س ٣ ن ف ت االتصا بكاعد ٠ ايب ا ات خال WCF بدال أ تك بع ن ش ٤ بشه د سرت ٣ ن ف أ WCF RIA RIA ستختصس ايهجري اي قت. بعد اال ت ا ٤ را ايفص جيب أ ضاف إىل عسفتو ايتاي : استخدا. Web Service استخدا. WCF RIA 77

الجزء الثاني : الفصل الخامس استخدام Web Service سس ا االتصا بكاعد ٠ ايب ا ات ي س باأل س ايصعب ا ٥ ا يف, Silverlight اى طس كتني يالتصا بكاعد ٠ ايب ا ات يف Silverlight إ ا أ ترتى ن ش ٤ ي WCF RIA أ أ ت ت أ ت به ش ٤ ب فسو, سأتطسم ا يه تا ايطس كتني يف, Silverlight السظ أ ضا ي أحتدخ ع ADO.net أ االتصا بك اعد ايب ا ات.. اخل, ب سأ تك باشس ٠ إىل ايت ف ر أل أفرتض بأ و تعسف ر املع ات سابكا, يد ا دد يف قاعد ٠ ايب ا ات بايشه ايتاي : يد ا ب دل ع ١ ايب ا ات أ ا ته, ا س د اآل احلص ع ٢ ت و ايب ا ات, Silverlight طبعا سأفرتض أ و ق ت بإ شا ٤ تص ف باس Users يف شس ع web ي شص ع ٢ االتصا ث طس ك ١ ي شص ع ٢ مج ع ايك يف قاعد ٠ ايب ا ات را اجلد, إي و ايشفسات : 78

الجزء الثاني : الفصل الخامس 2: 3: 4: 5: 6: 7: 8: 9: 10: 1 12: 13: 14: 15: 16: 17: 18: 19: 20: 2 22: 23: 24: 25: public class UserDAL { static string connectionstring = Connections.connectionString; public List<Users> GetUsers() { SqlConnection Connection = new SqlConnection(connectionString); DataSet objset = new DataSet(); List<Users> lstresult = null; SqlCommand Command = new SqlCommand(); Command.Connection = Connection; Command.CommandText = "LoadingUsers"; Command.CommandType = CommandType.StoredProcedure; SqlDataAdapter sqldataadapter = new SqlDataAdapter(); sqldataadapter.selectcommand = Command; Try { sqldataadapter.fill(objset); Users objusers; if (objset.tables.count > 0) { lstresult = new List<Users>(); foreach (DataRow dr in objset.tables[0].rows) { objusers = new Users(); objusers.id = int.parse(dr["id"].tostring()); 79

الجزء الثاني : الفصل الخامس 26: 27: 28: 29: 30: 3 32: 33: 34: 35: 36: 37: 38: 39: 40: 4 42: 43: 44: 45: 46: 47: 48: 49: 50: 5 52: 53: objusers.name = dr["name"].tostring(); objusers.email = dr["email"].tostring(); objusers.passwrod = dr["password"].tostring(); objusers.website = dr["website"].tostring(); lstresult.add(objusers); } } } catch { } finally { Command.Connection.Close(); Command.Parameters.Clear(); Command.Dispose(); sqldataadapter.dispose(); } return lstresult; } } public class Connections { public static string connectionstring = ConfigurationManager. ConnectionStrings["ConnectionStr"].ConnectionString; } public class Users { 80

الجزء الثاني : الفصل الخامس 54: 55: 56: 57: 58: 59: public int id { get; set; } public string name { get; set; } public string email { get; set; } public string passwrod { get; set; } public string website { get; set; } } اآل ي ستخد ا حتدث ا ع يف ايفص ايسابل Web Service يت س س ر ايطس ك ١ ي, Silverlight يع ذيو س ك بإضاف ١ web Service دد د ٠ مس ا ن ا ش ٦ ت جال,databaseSr فكط ق بإ شا ٤ طس ك ١ دد د ٠ ي ه امس ا, Users اي ع Collections List ع ٢ أ تع د االخري ٠ LoadingUsers إي و ايشفس ٠ : 2: 3: 4: 5: 6: [WebMethod] public List<Users> LoadingUsers() { UserDAL usr = new UserDAL(); return usr.getusers(); } ي عد إىل Silverlight اسشب data grid إىل اي ذز, ث أضف Service References دد د ٠ تشري إىل ت و اييت ق ت بع ا قب ق ن ا زأ ا يف ايفص ايسابل ال ت س ٢ طبعا أ تك بب ا ٤ ايتطب ل قب استدعا ٤ اخلد ١, 81

الجزء الثاني : الفصل الخامس يف املش د ايس ٥ س ي صفش ١ ي ك بع أ ش ٤ دد د ا فكط س ك باستدعا ٤ ايطس ك ١ ايسابك ١ دع ايب ا ات ن ItemsSource يألدا ٠ Data grid متا ن ا زأ ا يف فص, data binding اي و ايشفس ٠ : 2: 3: 4: 5: 6: 7: 8: 9: 10: 1 12: 13: 14: 15: 16: 17: 18: public MainPage() { InitializeComponent(); ServiceReference.databaseSrSoapClient SD = new databasesrsoapclient(); SD.LoadingUsersAsync(); SD.LoadingUsersCompleted += new EventHandler <LoadingUsersCompletedEventArgs>(SD_LoadingUsersCompleted); } void SD_LoadingUsersCompleted(object sender, LoadingUsersCompletedEventArgs e) { if (e.result!= null) { datagrid1.autogeneratecolumns = true; datagrid1.itemssource = e.result; } } شػ ايتطب ل اآل ست ٢ تس ٣ ايب ا ات. 82

الجزء الثاني : الفصل الخامس. استخدام WCF RIA ي س ٣ اآل ايطس ك ١ األخس ٣ يالتصا بكاعد ٠ ايب ا ات يف تطب كات Silverlight ذيو باستخدا WCF RIA افتح شس ع دد د يه ر املس ٠ ت قف ق ال ع د شاش ١ ايبدا ١, بتفع ق اخل از Enable WCF RIA Services ث ا كس ع ٢ افل. اخلط ٠ ايتاي ١ سدد شس ع asp.net ث ق بإضاف ١, ADO.net Entity طبعا ا أفرتض أ يد و قاعد ٠ ايب ا ات ( ميه و أ تعجس ع ٢ قاعد ٠ ب ا ات را املجا يف دل د ا ) Chapter 5 > Database أعد ايتس ١ إىل Users جال يف جاي ا س ط ب, و اخلط ٠ يف املعاجل اذا نا ت األ ىل ايب ا ات DB أ XML سدد DB إذا ن ت قد ق ت بإضاف ١ قاعد ٠ ايب ا ات ي شس ع س عجس ع ا املعاجل, أ سدد أ قاعد ٠ ب ا ات تسغب ال ذيو ب ا ات أ نا ت. ث اضػط ايتاي, سدد اجلدا اضػط ا ت ا ٤. نجريا, امل أ تتص بكاعد ٠ 83

الجزء الثاني : الفصل الخامس اخلط ٠ ايجا ١ ا إضاف ١ Domain Service يه أ ال ق بب ا ٤ املشس ع ث دد د ابك ٢ يف شس ع ASP.net أضف ع صس دد د اي ع Domain Service Class يف, ايص ز ٠ ع ٢ اي ساز سرت ٣ خ از ا ا اخل از األ س ح ت ح يو را اخل از إ ها ١ اي ص يتطب كات Client هلرا Domain تأند حتد دى هلرا اخل از ث اخرت اجلد اير تس د عسض ب ا ات ع ٢ Silverlight يف سايت ا ا س ه userstable أ ضا السظ ميه و متهني ع ات ايتعد ع ٢ اجلد خال حتد د اخل از enable editing س ح س ك را اخل از بت ي د شفسات ايتشد ح اإلضاف ١ احلرف, تأند حتد دى أ ضا اخل از اير باألسف املس ٢ Generate associated classes from, metadata اضػط ع ٢ افل اآل. 84

الجزء الثاني : الفصل الخامس اعد ب ا ٤ ايتطب ل اآل عد إىل تطب ل, Silverlight أضف يف ايصفش ١ ايس ٥ س ١ أدا ٠, data grid افتح شفس ٠ ايصفش ١ ايس ٥ س ١, ث أضف ايشفس ٠ ايتاي ١ : 2: DomainService1 context = new DomainService1(); context.load<userstable>(context.getuserstablequery()); ايسطس األ ق ت بإ شا ٤ نا ٥ اخلد ١ اييت ق ت بإ شا ٥ ا يف تطب ل asp.net السظ ا أ ق ت باستدعا ٤ املشس ع web نفضا ٤ أمسا ٤ يف األع ٢ ست ٢ أستط ع اي ص هلر اخلد ١ اييت ق ت بإ شا ٥ ا قب ق, ايشفس ٠ : using databaseusingwcfria.web; يف ايسطس ايجا ق ت باستدعا ٤ ايطس ك ١ GetUserstableQuery ضع مج ع اي تا ٥ ر داخ ايها ٥ Context ع ٢ أ ته ر اي تا ٥ ر اي ع, Usertable ا تبك ٢ ايع د ٠ ب ر ايك إىل األدا ٠, data grid ايشفس ٠ : 2: datagrid1.autogeneratecolumns = true; datagrid1.itemssource = context.userstables; 85

الجزء الثاني : الفصل الخامس شػ ايتطب ل اآل ا ظس ي ت ذ ١, زأ ا يف را ايفص ن ف ت ايت اص بني تطب كات Silverlight ق اعد ايب ا ات, األ س ال خيت ف إطالقا ع د احلد ح ع ع ات ايتشد ح أ اإلضاف ١ أ احلرف ميه و استخدا إسد ٣ ايطس كتني إ ا د ا أ استخدا ADO.net ع, WCF RIA اخل از يو يف اي ا ١. ميه احلص ع ٢ ع ات أنجس ع ر ايتك ات خال ر ايس ابط : WCF RIA Services riaservices 86

الجزء الثاني : الفصل السادس السادس الفصل : الوسائط مع التعامل المتعددة ض تخدخ يف را ايفص ع ن ف ١ ايتعا ع اي ضا ٥ ط املتعدد ٠ ج فات األص ات ايف د خال Silverlight ن ا ض تطسم إىل ايتعا ع نا ريا اي ب. بعد اال ت ا ٤ را ايفص دنب أ ضاف إىل عسفتو ايتاي : أدا ٠. Media Element اضتددا نا ريا اي ب. 87

الجزء الثاني : الفصل السادس اضتددا اي ضا ٥ ط املتعدد ٠ أ س ددا يف عامل اي ب, يعسض كاطع ايف د جال اضتددا نا ريا اي ب أ عسض ايص ز تشػ فات ايص ت, أحد أ األد ات اييت ض طتدد ا ي تعا ع اي ضا ٥ ط املتعدد ٠ األدا ٠. MediaElement : اداة استخدام MediaElement أحد أ األ ز اييت دنب أ تعسف ا أ أدا ٠ MediaElement تتعا فكط ع را اي ع فات ايف د WMV اإلصداز األ حت ٢ اإلصداز ايجايح أ ضا WMVAC WMVA أخريا H.264, أ ا ع فات ايص ت WMA اإلصداز ايطابع حت ٢ ايتاضع أ ضا فات, MP3 تدع ر األدا ٠ أ ضا ايبح املباشس. ي بدأ ايع ق بإ شا ٤ شس ع دد د Silverlight يف اي اد ١ ايس ٥ ط ١ حدد األدا ٠ MediaElement ضتذد ر األدا ٠ يف ايكط All Silverlight Controls شس ط األد ات, ي تس ٣ ش ٤ دد د حت ٢ اي خظ ١ ضتذد أدا ٠ فازغ ١ ع ٢ ايصفخ ١, يتخد د كطع ف د أ ص ت ضتطتدد ارتاص ١ Source بإ ها و ع را األ س خال شفس ٠ XAML حت ٢ تطسم ملا ط ٢ مبصادز املشس ع, 88

الجزء الثاني : الفصل السادس أ ال أضف ف ايف د املسفل ع املشس ع أ أ ف ف د أخس إىل املشس ع ( ىلإ تطب ل ) Silverlight حدد را امل ف ث ا كس بصز ايفأز ٠ األمي حدد ارت از properties تأند تػ ري ارتاص ١ Build Action إىل, Rescues ث شفس ٠ XAML أضف ارتاص ١ source ع تعد ق ت ا إىل طاز ف ايف د ب را ايشه : 2: 3: 4: <MediaElement Source="Silverlight.wmv" Height="213" HorizontalAlignment="Left" Margin="17,21,0,0" Name="mediaElement1" VerticalAlignment="Top" Width="364" /> اآل شػ ايتطب ل ض بدأ ايف د بايع باشس ٠, خط ت ا ايتاي ١ ا ايتخه ب را ايف د ايت قف املؤقت ايتشػ ايت قف ن ا, أضف ثالث ١ Button ي اد ١ ث ا شأ حدخ Click يه ع صس انتب ايشفسات ايتاي ١ يف ايصز املدصص ي : 2: 3: 4: 5: private void button1_click(object sender, RoutedEventArgs e) { mediaelement1.play(); } 89

الجزء الثاني : الفصل السادس 6: 7: 8: 9: 10: 1 12: 13: 14: private void button2_click(object sender, RoutedEventArgs e) { mediaelement1.stop(); } private void button3_click(object sender, RoutedEventArgs e) { mediaelement1.pause(); } أعد تشػ ايتطب ل دسب األشزاز, ب را ه قد أجنص ا تكس با %03 ايع يه ا شا أ ا ا املص د, يف ارتط ٠ ايتاي ١ ض ض ف شس ط Slider ي عسض د ٣ تكد ايف د. يف, ض خت ذيو يع اج ي خدخ MediaOpended ي خص ع ٢ ط ايف د أ ال ايبدا ١ حدد األدا ٠ Slider شس ط األد ات ث أضف ا ي ذج, ا شأ اذتدخ MediaOpended ايت د ي افر ٠ ارتصا ٥ ص ذيو بتخد د ايع صس MediaElement, MediaOpended NaturalDuration ايتابع ١ تب ب يف ي خص يألدا ٠ األحداخ ط ع ٢ كسا ا كس ايف د MediaElement صد دا ض ختاج اييت ع ٢ بد ز ا ث اذتدخ ي داص ١ خاص ١ امس ا, TimeSpan اآل انتب شفس ٠ اذتدخ : MediaOpended يد ا 90

الجزء الثاني : الفصل السادس 2: slider1.maximum = mediaelement1.naturalduration.timespan.totalseconds; بعد أ حص ا ع ٢ ط املكطع دع ا ايك ١ ايعظ ٢ يألدا ٠ Slider تطا ر ايك ١, حنتاج أ ضا أ ػري ر ارتاص ١ ايف د, يع ض ض ذيو value يألدا ٠ Slider أث ا ٤ تشػ طس إىل إ شا ٤ timer يه ؤقت ر ايع ١, يف أع ٢ ايشفس ٠ قب ضطس () MainPage أضف ايططس ايتاي : 2: System.Windows.Threading.DispatcherTimer videotimer = new System.Windows.Threading.DispatcherTimer(); يف املش د ايس ٥ ط ي صفخ ١ ض فع ارتاص ١ Interval إىل ثا ١, ايشفس ٠ : videotimer.interval = new TimeSpan(0, 0, 0, 1); ض ط ل ث اذتدخ, Tick انتب videotimer.tick += ستني, ض شأ VS اذتدخ videotimer_tick ارتاص ١ Tab ع ٢ ا كس ث value ي ع صس داخ را اذتدخ ض ك بتعد Slider إىل ايجا ١ اييت عسض ب ا املكطع حاي ا, يه قب ذيو ض ذع videotimer بدأ بايع باضتددا ايطس ك ١ ايتاي : بشه start 91

الجزء الثاني : الفصل السادس videotimer.start(); ي صبح املش د ب را ايشه : 2: 3: 4: 5: 6: 7: public MainPage() { InitializeComponent(); videotimer.interval = new TimeSpan(0, 0, 0, 1); videotimer.tick += new EventHandler(videoTimer_Tick); videotimer.start(); } اآل يف اذتدخ videotimer_tick انتب اآلت : slider1.value = mediaelement1.position.seconds; اآل ق بتشػ ايتطب ل يرت ٣ شس ط Slider ع. اى املص د أ ضا, ميه و اضتددا ايف د اير ت عسض ع ٢ ر األدا ٠ يتشه ن ات حس ف أ ا شاب ذيو!!, ن ا يف ايص ز ٠ ع ٢ اي طاز, ي بدأ شس ع دد د يف, Silverlight ث أضف ف ايف د ادع ن, Rescues أضف يف ايصفخ ١ ايس ٥ ط ١ أدا ٠ MediaElement أدا ٠, TextBlock 92

الجزء الثاني : الفصل السادس ق بتصػري حذ أدا ٠ MediaElement حت ٢ ال ميه زؤ ت ا تهبري األدا ٠ TextBlock ع ٢ نا ايصفخ ١, ق بتػ ري ارتاص ١ FontSitze إىل, 27 ارتدع ١ يف األ س تػ ري خ ف ١ ايه ١ ي ظ تشه ن ١ كطع ف د. يع ذيو حنتاج إىل ا ط ٢ ب videobrush ارتاص ١ Foreground ارتاص ١ ب, TextBloxk ح ح ض ف ت تػ ري ارتاص ١ SourceName ايتابع ١ ي VideoBrush إىل اض األدا ٠ MediaElement بايشه ايتاي : 2: 3: 4: 5: 6: 7: :8 <TextBlock Height="203" HorizontalAlignment="Left" Margin="10,26,0,0" Name="textBlock1" Text="TextBlock" VerticalAlignment="Top" FontSize="72" Width="378"> <TextBlock.Foreground> <VideoBrush SourceName="mediaElement1"> </VideoBrush> </TextBlock.Foreground> </TextBlock> ق بتشػ ايتطب ل اآل. 93

الجزء الثاني : الفصل السادس الويب كاميرا استخدام. يف ايبدا ١ ي ك بإ شا ٤ شس ع دد د يف Silverlight أضف إىل اي ذج أدا ٠ Button أدا ٠ StackPanel داخ StackPanel أضف أدا ٠, Rectangle ن تتد حذ ايشفس ٠ اييت ضتطتدد ا ي تعا ع نا ريا اي ب!! كاز ١ ب Adobe Flash ال ش ٤ رنس, ا شأ حدخ Click ي Button يف, ايبدا ١ ع ا ايتأند د د نا ريا يد ٣ املطتدد قب حما ي ١ اضتددا ا, أخر األذ املطتدد ي تعا ع نا ريا اي ب, هف فكد تعس ف تػري ع Bool ي خص ع ٢ را األذ, يف اذتدخ Click انتب ايتاي : 2: bool b = CaptureDeviceConfiguration.RequestDeviceAccess(); ق بتشػ ايتطب ل اآل ا كس ع ٢ Button ضتذد بأ Silverlight ط ب األذ املطتدد ي ص يألد ص ٠ املتص ١ ظ اش ايع, إي و ايشفس ٠ ي خص ع ٢ ايها ريا ث ض أت ي شسح : 2: 3: 4: 5: bool b = CaptureDeviceConfiguration.RequestDeviceAccess(); if (b) { CaptureSource webcam = new CaptureSource { 94

الجزء الثاني : الفصل السادس 6: 7: 8: 9: 10: 1 12: 13: VideoCaptureDevice = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice( )}; VideoBrush vidb = new VideoBrush(); vidb.setsource(webcam); rectangle1.fill = vidb; webcam.start(); } بعد ايتأند أ املطتدد قا مب خ ايصالح ات ي ص إىل نا ريا اي ب, أق بإ شا ٤ ع صس اي ع CaptureSource اير بد ز ذندد نا ريا اي ب االفرتاض ١ ع ٢ د اش ايع ث أق بإ شا ٤ نا ٥ اي ع VideoBrush اير طتدد الحت ا ٤ كاطع ف د ن ا زأ ا ضابكا ح ح ض ه صدز ايف د ايها ٥, WebCam أخريا أق بتعب ١٦ را ايف د داخ أدا ٠ Rectangle ث ابدأ عسض اي ب. اى ايعد د ايطسم اييت ميه و االضتفاد ٠ داخ ايها ٥ WebCam جال ميه و تطذ األص ات أث ا ٤ ع ايها ريا خال ضع ارتاص ١ AudioCaptureDevice إىل 95

الجزء الثاني : الفصل السادس, CaptureDevicesConfiuration.GetDefultAudioCaptureDevices أ ضا ميه و ايت قف خال ايطس ك ١. Stop قب أ خنت را ادتص ٤ Silverlight ي ك بع تطب ل باضتددا Web Cam يف ايبدا ١ خت يد ا ايط از ايتاي, أث ا ٤ تطذ ايدخ, تط ب املطتدد ص ز ٠ ع ١ ح ح تت ح ي اضتددا نا ريا اي ب اليتكاط ص ز ٠ ي, ك ايتطب ل بايتكاط ايص ز ٠ ع ٢ ايها ريا حت ا إىل ص ز ٠ اي ع jpg ي بدأ, يف ايبدا ١ ق بتص من ذج بط ط ذنت ع ٢ شز األ start web cam اآلخس take this as an image طبعا يد ا أدا ٠ Rectangle داخ أدا ٠ Grid ر املس ٠, اآل شفس ٠ XMAL دنب أ تتأند rectangle مت ٧ متا ا أدا ٠ grad ادتد د ٠ ( ذتاد ١ يف فظ عك ب ), أ ا ع 'Start Button cam' web ق ا بع شفست ضابكا, ض تك ي دط ٠ ايتاي ١, شفس ٠ 'take this as an image' Button يف, ايبدا ١ ضتذد يف املسفكات هتب ١ بع ا FJ.Core أضف ا ن سدع ملشس ع Silverlight ث ق باضتدعا ٤ فضا ٥ األمسا ٤ امل د د ٠ يف ر املهتب ١ : 2: using FluxJpeg.Core; using FluxJpeg.Core.Encoder; 96

الجزء الثاني : الفصل السادس أل ا ض خفظ ايص ز ٠ ع ٢ ها ذندد املطتدد ض ختاج أ ضا إىل فضا ٤ األمسا ٤ IO أ ضا فضا ٤ األمسا ٤, Windows.Midea.Imaging ب را ايشه : 2: using System.IO; using System.Windows.Media.Imaging;, ث يف املش د يف أع ٢ ايشفس ٠ ض ك بتعس ف نا ٥ اي ع SaveFileDialog ايس ٥ ط ض ك بتع ني را املتػري حتد د أ اع امل فات, األ س متا ا ن ا ع يف, Windows Form ايشفس ٠ : private SaveFileDialog savefiledlg; 2: public MainPage() 3: { 4: InitializeComponent(); 5: savefiledlg = new SaveFileDialog 6: { 7: DefaultExt = ".jpg", 8: Filter = "JPEG Images (*jpeg *.jpg) *.jpeg;*.jpg", 9: }; 10: } ارتط ٠ ايتاي ١ ايع اضتددا املهتب ١ FJ.Core يتخ ايص ز ٠ اييت مت ميه و سادع ١ ايتكاط ا إىل FluxJpeg ث أخريا حت ا إىل jpegimage هتب ١ MSDN ي ص د ايتفاص : 2: public static void EncodeJpeg(WriteableBitmap bmp, Stream dststream) 97

الجزء الثاني : الفصل السادس 3: 4: 5: 5: 6: 7: 8: 9: 10: 1 12: 13: 14: 15: 16: 17: 18: 19: 20: 2 22: 23: 24: 25: { int w = bmp.pixelwidth; int h = bmp.pixelheight; int[] p = bmp.pixels; byte[][,] pixelsforjpeg = new byte[3][,]; pixelsforjpeg[0] = new byte[w, h]; pixelsforjpeg[1] = new byte[w, h]; pixelsforjpeg[2] = new byte[w, h]; int i = 0; for (int y = 0; y < h; y++) { for (int x = 0; x < w; x++) { int color = p[i++]; pixelsforjpeg[0][x, y] = (byte)(color >> 16); // R pixelsforjpeg[1][x, y] = (byte)(color >> 8); // G pixelsforjpeg[2][x, y] = (byte)(color); // B } } var jpegimage = new FluxJpeg.Core.Image(new ColorModel { colorspace = ColorSpace.RGB }, pixelsforjpeg); var encoder = new JpegEncoder(jpegImage, 95, dststream); encoder.encode(); } تطتكب ايطس ك ١ نا ٥ اي ع writeablebitmp نا ٥ اي ع Stream األ ميج ايص ز ٠ ايجا ميج ها حفظ ايص ز ٠, ال ت دد طس ك ١ باشس ٠ ألخر 98

الجزء الثاني : الفصل السادس ايص ز ٠ ايها ريا, اى ع ١ حتا ا ض ك ب أخر ص ز ٠ ي Grid اييت حتت ع ٢ Rectangle مبا أ األخري ٠ ممتد ٠ متا ا ع ٢ grid ف را عين أ املطتدد ض خص ع ٢ ايص ز ٠ اييت ايتكط ا ايها ريا, يف ايبدا ١ ع ا حت grid إىل نا ٥ اي ع writeablebitmp ث حندد املها اير س د املطتدد حفظ ايص ز ٠ ف, ث ك باضتدعا ٤ ايطس ك ١ اييت يف األع ٢, طس ك ١ : savewebcam 2: 3: 4: 5: 6: 7: 8: 9: 10: 1 12: private void SaveWebCam(Stream dststream) { try { WriteableBitmap bmp = new WriteableBitmap(grid1, null); EncodeJpeg(bmp, dststream); } catch (Exception ex){ MessageBox.Show(ex.Message, "Error saving webcam", MessageBoxButton.OK); } } مل تبك ٢ اآل ض ٣ اضتدعا ٤ ر ايطس ك ١ ع متس س ها اذتفظ, يف ايصز Take this as image اضتدع ايطس ك ١ ايطابك ١ ب را ايشه : 99

الجزء الثاني : الفصل السادس 2: 3: 4: 5: 6: 7: if (savefiledlg.showdialog().value) { using (Stream dststream = savefiledlg.openfile()) { SaveWebCam(dstStream); } } شػ ايتطب ل ث اضػط ع ٢ شز تشػ ايها ريا, أخريا شز ايتكاط ايص ز ٠. إىل ا ه قد ا ت ا را ادتص ٤, زأ ا ف ن ف ت ايتعا ع خد ات اي ب يف,Silverlight ن ف ت االتصا بكاعد ٠ ايب ا ات د ا باضتددا املعاجل, ث زأ ا ن ف ١ عسض كاطع ايف د باضتددا األدا ٠ MediaElement, زأ ا أ ضا ن ف ت ايتعا ع نا ريا اي ب أخريا اضتددا IsolatedStorageFile يتدص فات صػري ٠ ج فات Cookies ع ٢ د اش ايع. 100

الثالث الجزء المزيد عن Silverlight يف هذا اجلزء ستتعزف على العديد من األمور األكجز تطويزا يف, Silverlight التعزف على أجزاء املشزوع و تشغيل التطبيقات خارج املتصفح, الجيمات, ثم سنتطزق أخريا لنقطة مومة وهي العمل خارج املتصفح ثم التعامل مع بعد االنتواء من هذا اجلزء جيب أن يضاف إىل معزفتك التالي : أجزاء مشاريع و جملدات. Silverlight التعامل مع تطبيقات Silverlight خارج املتصفح. 101

الجزء الثالث : الفصل السابع السابع الفصل : مشاريع أجزاء Silverlight نا جيب أ أتطسم هلر اي كط ١ يف بدا ١ ايهتاب, يه زغبت بأ أبدأ بايع باشس ٠ حت ٢ أبعد ع و امل ق ال, يف را ايفص ضرت ٣ ا اجمل دات ايس ٥ ط ١ ن ف ت اال تكا بني ايصفخات يف تطب كات. Silverlight بعد اال ت ا ٤ را ايفص جيب أ طاف إىل عسفتو ايتاي : ه ات شس ع اي. web ه ات املشس ع. Silverlight امل ف. app.xaml اال تكا بني ايصفخات. 102

الجزء الثالث : الفصل السابع مكونات Web ال مشروع ص يو هلر اي كط ١ حيت ع و أ تعسف ن ف تت األ ز يف ارت ف, يكد حتدث ا يف املكد ١ بأ تطب كات Silverlight ت ختص ا ع ٢ د اش ايع يه أ ت ختص ا ع ٢ د اش ارتاد! يه ك ايع بتخ ا, ض ف تطاعدى ر اي كط ١ نجريا ع د اذتد ح ع شس تطب كات Silverlight إىل اي ب. إذا أيك ت ظس ٠ ع ٢ شس ع اي Web ضتذد زت د امس Silverlight يف را اجمل د ت ختص شس ع ClientBin اير ت باال تداد.xap ع ٢ د ١ ارتاد, ايطؤا اآل ن ف عسف ارتاد طاز ايتطب ل! ا أت د ز صفخ ١ Aps.net أ HTML فهال ايصفختني حتت ع ٢ Form را اي Form يد ض امس source را األخري خيرب صفخ ١ اي ب بأ تطب ل Silverlight د د يف را املطاز. 103

الجزء الثالث : الفصل السابع حط ا اذا إذا مل طتطع را Form إجياد ايتطب ل يف زت د ClientBin ع د ا ط ل حدخ ط ٢, OnError ملاذا اى صفختني احد ٠ HTML األخس ٣, ASP.net به بطاط ١ إذا ن ت ضتذس شفسات د ١ ارتاد فع و اضتخدا ايصفخ ١ asp.net بعض أد ات Silverlight البد أ ت اضتدعا ٥ ا خال. Bing Map ن ا اذتا ع أدا ٠ HTML ي ظ asp.net بك ٢ يد ا ف احد د ١ ارتاد Silverlight.js را امل ف ميه اعتباز أدا ٠ الحت ا ٤ تطب ل Silverlight عسض ا ع ٢ ايصفخ ١ ايس ٥ ط ١. مكونات Silverlight مشروع د ١ أخس ٣ تطب ل Silverlight ميه أ حيت ع ٢ ايعد د امل فات بداخ يه ضأحتدخ ع اجمل دات ايس ٥ ط ١ فكط, اجمل د األ Service References حيت را اجمل د ع ٢ مج ع خد ات اي ب اييت ق ت باضتدعا ٥ ا شس ع اي ب أ أ د ١ أخس ٣. 104

ا الجزء الثالث : الفصل السابع يد و ف ال خي أ تطب ل يف app.xaml Silverlight اش متا ا program.cs يف تطب كات windows form ض تخدخ ع را امل ف يف اي كط ١ ايتاي ١, أخريا يد و زت د ا Properties references األ حيت ع ٢ املسادع اييت أضفت ا ي شس ع ايجا حيت ع ٢ ف setting ارتاص باملشس ع الحظ ا ش ٤ ددا, مبا أ تطب كات Silverlight تع ع ٢ د ١ املطتخد فإ ف Setting ايتابع يتطب ل Silverlight ت ختص ع ٢ د اش ايع خيت ف متا ا ع ف setting ايتابع يتطب ل اي. web الملف App.xaml ن ا زأ ت يف ايصفخ ١ ايطابك ١, عترب را كط ١ ايبدا ١ يتطب كات Silverlight ع ٢ عهظ فات XAML امل د د ٠ يد و يف املشس ع, ي ظ يد ٣ app.xaml اد ١ زض ١, ن ا أ كط إىل قط ني ايشل األ را امل ف ت با تداد xaml ايجا ت با تداد, cs طتخد ايشل األ دا ٥ ا يتعس ف امل فات أ األد ات شاب ذيو اييت تس د ا أ ته ن صدز ي شس ع حب ح ميه أ ص هلا أ دص ٤ ايتطب ل ( ض س ٣ را األ س يف فص ايتعا ع ) Themes, أ ا ايشل األخس اير ت با تداد cs ف ست ز حد ج ا يف را ايفص. 105

الجزء الثالث : الفصل السابع يد ٣ را امل ف ش د أزبع ١ طسم ب ١ يف ادتد ايتاي : اض ايطس ك ١ اي ظ ف ١ ا ت حتد د كط ١ اال طالم يف ايتطب ل أ طا ميه و ا إ شا ٤ بعض ايطسم يه ت ت ف ر ا باشس ٠ بعد أ ت حت ايتطب ل ع ٢ د اش ايع. ع ٢ عهظ األ ىل ت إطالم را اذتدخ باشس ٠ ع د إغالم ايتطب ل. ع د حد خ أ ١ أخطا ٤ مل حتا اصط اد ا ت إطالم را اذتدخ باشس ٠, يريو طتخد ط ز اي Silverlight را اذتدخ ع د ق ع خطأ بتخد ح ايصفخ ١ باشس ٠. يف حا ق ع أخطا ٤ متت عادتت ا أ اصط اد ا إ صح ايتعبري ت إطالم را اذتدخ ح ح خيرب املطتخد ا ارتطأ اير حدخ أث ا ٤ تشػ ايتطب ل. Application_Startup Application_Exit Application_UnhandleExc aption ReportErrorToDOM 106

الجزء الثالث : الفصل السابع ايطس ك ١ ع ي بدأ, Appliaction_Startup شس ع يف Silverlight SilverlightControl امس ا ه حبح friendspage, جال ادتد د ٠ أضف TextBox أدا ٠ بني صفخ ١ يف أضف ايصفخ ١ Button فكط يه حندخ اختالفا بط طا ب ا. MainPage اآل عد ي طس ك ١ Application_StartUp ق بتػ ري ق ١ ارتاص ١ RootVisual new FrindesPage إىل new mainpage اآل ق بتشػ ايتطب ل ا ظس أ بدأ ايت ف ر, قب أ تػ ل اي افر ٠ أز دى أ شس ط ع ٢ ظس ٠ ت ك بأ و يف ايصفخ ١! friendspage ايطبب يف تتعا ع ايع ا يف املتصفح, اذا تالحظ!! ال دد ش ٤ شري ذيو بأ صفخات Silverlgiht ال href> < a يت تك بني ايصفخات ض س ٣ ذيو يف اي كط ١ ايكاد ١. كع بعد إغالم املتصفح, ي هتب ش ٤ اذتدخ اآلخس Application_Exit را ايكب : 2: 3: 4: private void Application_Exit(object sender, EventArgs e) { MessageBox.Show(" did you close the Browser!"); } 107

الجزء الثالث : الفصل السابع Silverlight في الصفحات بين االنتقال اال تكا بني ايصفخات يف تطب كات Silverlight خيت ف نجريا ع اي ب ايعاد ١, اى أض بني يف ايت ك بني ايصفخات ا ظس اىل ايص ز ٠ : تطب كات ر ايص ز ٠ ت خص ن ش ٤ تكس با يف نال اذتايتني حن يد ا صفخ ١ احد ٠ تك باحت ا ٤ صفخات أخس ٣, يف األض ب األ Key page يد ا صفخ ١ فازغ ١ متا ا ت احت ا ٤ ايصفخات األخس ٣ بداخ ا, أ ا يف األض ب ايجا link page يد ا صفخ ١ بداخ ا أدا ٠ frame ر األدا ٠ بد ز ا حتت ع ٢ صفخات أخس ٣. 108

الجزء الثالث : الفصل السابع ض تخدخ ا ع األض ب األ key page ض س ٣ الحكا يف را ادتص ٤ األض ب اآلخس ي بد ٤ بايع أضف صفخ ١ دد د ٠ حتت ط ٢ keypages ث ق بتعد شفس ٠ app.xaml حب ح بدأ ايتطب ل ر ايصفخ ١, يف ايصفخ ١ mainpage أضف Button ح ح ض طتخد يال تكا إىل صفخ ١ friendspage حا أ طا تػ ري ايتص ق ال حت ٢ تشعس بايفسم ع د اال تكا. اآل عد إىل ايصفخ ١ KeyPages شفس ٠ XAML تأند متا ا أ و ق ت حبرف grid ايس ٥ ط ١ املط ا ٠, layout root ث ادخ ع ٢ شفس ٠ ض شازب ارتاص ١ ب ر ايصفخ ١, أضف يف ش د ايس ٥ ط ١ ايشفس ٠ ايتاي ١ : 2: 3: 4: 5: if (this.content == null) { MainPage mainpage = new MainPage(); this.content = mainpage; } keypages GoToThisPage بإضاف ١ ق أ طا ايطس ك ١ إىل ايصفخ ١ ب را ايشه : 109

الجزء الثالث : الفصل السابع 2: 3: 4: public void GoToThisPage(UserControl p) { this.content = p; } اآل ا تك إىل ايصفخ ١ mainpage ا شأ اذتدخ Click يصز اال تكا يصفخ ١ األصدقا ٤, بداخ را اذتدخ انتب ايشفس ٠ ايتاي ١ : 2: KeyPages kp = this.parent as KeyPages; kp.gotothispage(new friendspage()); يف ايصفخ ١ األخس ٣ انتب فظ ايشفس ٠ يه ع تػ ري ايك ١ اييت مت متس س ا إىل GoToThisPage إىل Mainpage ال, أعتكد أبدا أ ايشفس ٠ حتتاج إىل ت ض ح ف أبطط مما ميه شسح!, ق بتشػ ايتطب ل اآل دسب األ س. ب را ه قد ا ت ا را ايفص تطسق ا ف أل اجمل دات امل فات يف شاز ع Silverlight ن ا زأ ا ن ف أ ف app.xaml ددا يع تطب كات, Silverlight أخريا زأ ا أحد األضاي ب اييت تطتخد يال تكا بني ايصفخات يف. Silverlight 110

الجزء الثالث : الفصل الثامن الثامن الفصل : العمل خارج المتصفح يف زأ ا املتصفح كد ١ بشه ايهتاب ن ف را يف ضس ع ميه و ايفص تشػ ض تعسف تطب كات أنجس ن ف ت حتد ح ايتطب ل خازز املتصفح, ض س ٣ ع ٢ ع ٢ صالس ات أنجس املطتخد ع د ايع خازز املتصفح., Silverlight را األض ب خازز ض س ٣ أ ضا ن ف ميه و اذتص بعد اال ت ا ٤ را ايفص جيب أ ضاف إىل عسفتو ايتاي : تجب ت تطب كو خازز املتصفح. ختص ص ع ١ ايتجب ت. ابكا ٤ املطتخد ع ٢ أخس ايتشد جات يف ايتطب ل. اذتص ع ٢ صالس ات أنرب املطتخد. 111

الجزء الثالث : الفصل الثامن. تثبيت تطبيقك خارج المتصفح ابدأ شس ع دد د يف Silverlight يف, تصف ايشاش ١ ايس ٥ ط ١ أضف TextBox انتب بداخ, out of Browsers Project سدد ايصفش ١ mainpage اضػط بصز ايفأز ٠ األمي اخرت Open with Expression Blend يف, Blend ايكا ١ ٥ Project سدد ارت از Silverlight Project setting ث اخرت CTRL + Shift + ث اضػط ع ٢, Enable Application Out of Browser B يب ا ٤ ايتطب ل ث CTRL + Shift + S ذتفظ ر اإلعدادات. أغ ل Blend ث عد إىل, Visual Studio ق بتشػ ايتطب ل اآل ي تالسظ ش ٤, يه ا كس ع ٢ شز ايفأز ٠ األمي ضتذد خ ازا دد دا بع ا Install Out of, browsers project in this computer ا كس را ارت از ضتخسز يو افر ٠ ايتجب ت اي افر ٠ اييت ضريا ا املطتخد سدد Start menu ارت از desktop ث ا كس,OK ض ت تجب ت ايرب ا ر خازز املتصفح ضرت ٣ أ ك ١ ايتطب ل ع ٢ ضطح املهتب يف قا ١ ٥ ابدأ, ضرت ٣ ايتطب ل أ ضا يف قا ١ ٥ ايربا ر يف ي س ١ ايتشه. 112

الجزء الثالث : الفصل الثامن اذا ق ت بتشػ ايتطب ل ض ا ٤ املتصفح أ ضطح املهتب ضتالسظ تػ ري ارت از install إىل, remove ختص ص ع ١ ايتجب ت ي طت صعب ١, حبه أ ا مل تشدخ ست ٢ ر اي شظ ١ ع ع ١ ايتشد ح فأزد أ تك بإشاي ١ ايتطب ل ست ٢ تك أ ضا بتذسب ١ األ س. remove 113

الجزء الثالث : الفصل الثامن تخصيص عملية. التثبيت عد إىل visual studio سدد شس ع Silverlight ث اخرت األ س Properties سدد ايتب ب Silverlight أضف ايتب ب اضػط ع ٢ ايصز out of browser setting ضتذد افر ٠ إعدادات ايتطب ل, ا ميه و تعد ايعد د ارت ازات, ج اض ايشاش ١ ايس ٥ ط ١ عسض اي افر ٠, اض شتتصس ي تطب ل أ ضا تفص ايتطب ل اير ض عسض يف قا ١ ٥ ايربا ر يف ي س ١ ايتشه أ ضا أ ك ١ ايرب ا ر, شه إطاز ايتطب ل يف األضف, اى أض ب تبع ع د ايتعا ع األ ك ات, يف ايبدا ١ جيب أ ته األ ك ات اي ع png ي ظ, icon ثا ا جيب أ ته داخ زت د ايتطب ل, األض ب املتبع ا إ شا ٤ زت د دد د يف املشس ع بع ا icon ضع األ ك ات ف, عد خ از ايتطب ل ن ا حي يو يه ال تك بتشد د ارت از Require, elevated trust when running outside the browser ق بب ا ٤ ايتطب ل دد د ض ا ٤ باضتخدا F6 أ CTRL + Shift + B أ قا ١ ٥ Build, ث ق بتشػ ايتطب ل سا ايتجب ت ا ظس إىل األ ك ١ ادتد د ٠ ي تطب ل. 114

الجزء الثالث : الفصل الثامن ن ا تالسظ تػريت األ ك ١ تػري أ ضا ع ا اض املشس ع ق بتجب ت ايتطب ل ع ٢ ضطح املهتب, قا ١ ٥ ابدأ ا تك إىل ي س ١ ايتشه ث ايربا ر ث إشاي ١ ايربا ر السظ ايتطب ل قد مت تجب ت ع ٢ د اش املطتخد, ن ا يف ايص ز ٠ : ي تك اآل ي خط ٠ ايتاي ١ ع ١ حتد ح ايتطب ل, أ إ صح ايتعبري إبكا ٤ املطتخد ط ع ع ٢ أخس ايتشد جات. 115

الجزء الثالث : الفصل الثامن ا شايت يد ا شه ١ ا, ن ف عسف املطتخد أ ميه تجب ت ايرب ا ر ع ٢ د اش! ايصفش ١ يريو ايس ٥ ط ١ تط ب ع و ض طتخد إخباز ايصز را ب ر يع ١, األ س ايتجب ت يع ا شأ ذيو سدخ ض ض ف Click إىل شز يألدا ٠, Button يت ف ر ر ايفهس ٠ جيب أ ال أ تأند بأ ايتطب ل ي ظ جبتا ع ٢ د اش ايع بايتاي عسض اي ص install أ ا إذا نا جبتا ض خف ايصز ن ا, يف املش د ايس ٥ ط ي صفش ١ mainpage ض تشكل أ املطتخد مل ك بتجب ت ايتطب ل قب بايشه ايتاي : 2: 3: 4: 5: 6: 7: 8: if (Application.Current.InstallState!= InstallState.Installed) { button1.content = "Install"; } else { button1.visibility = System.Windows.Visibility.Collapsed; } أ ا يف اذتدخ Click فط هتب أ س ايتجب ت ب را ايشه : Application.Current.Install(); فكط! ق بب ا ٤ ايتطب ل اآل دسب إشايت ث شػ ايتطب ل دد د دسب ايصز. 116

الجزء الثالث : الفصل الثامن ابقاء المستخدم على التطبيق في التحديثات أخر أسد أ األ ز اييت نا ت تشه أش ١ ١ تكس با يد ٣ ط ز ايتطب كات ع ١ حتد ح ايتطب كات اييت ك بتط س ا يد ٣ املطتخد إبكا ٤ املطتخد ع ٢ أخس ايتشد جات, ملعادت ١ ر املشه ١ نا اى ايعد د اذت, أش س ر اذت نتاب ١ ف ع ٢ ارتاد قسا ٤ ت بتػ ري زق اإلصداز يف امل ف ع زق اإلصداز املجبت تت ع ١ ايتشد ح. يف Silverlight األ س شتت ف تكس با ن ا, ا ال دد ف ب أ أد ٢ تػ ري يف تص ايصفشات أ إضاف ١ فات دد د ٠ ط ل باشس ٠ اذتدخ, Update يألضف ال تت ايع ١ بشه ت كا ٥ ب جيب ع و تفع ا د ا, يع ض تشاز ايتاي ١ : د د حتد ح ي تأند املش د يف ايس ٥ ط ي صفش ١ ذيو أضف, يف ايبدا ١ ايشفس ٠ Application.Current.CheckAndDownloadUpdateAsync(); أعتكد أ و قد أصبشت تعسف ن ف تتعا ع ايطسم Async خال ايفص ايطابك ١ ف ر ايطسم تط ل سدخ, Completed انتب : Application.Current.CheckAndDownloadUpdateCompleted+= 117

الجزء الثالث : الفصل الثامن ا كس ع ٢ شز tab ستني ي س ١ املفات ح ست ٢ ت إ شا ٤ اذتدخ بشه ت كا ٥ داخ را اذتدخ ض خرب املطتخد جال إذا نا ت اى حتد جات دد د ٠ أ ال ذيو باضتخدا املتػري, e ايشفس ٠ : 2: 3: 4: 5: 6: 7: 8: 9: void Current_CheckAndDownloadUpdateCompleted(object sender, CheckAndDownloadUpdateCompletedEventArgs e) { if (e.updateavailable) { MessageBox.Show("Application updated, please restart to apply changes."); } } ي تذسب ١ ق بتػ ري ي خ ف ١ اي grid ايس ٥ ط ١ يألض د ث ق بب ا ٤ ايتطب ل, عد إىل أ ك ١ ايتطب ل املجبت ١ ع ٢ ضطح املهتب ق بتشػ ايتطب ل ( السظ اي طخ ١ املجبت ١ ع ٢ ضطح املهتب جيب أ حتت ع ٢ ايطس ك ١ CheckUpdate قب تػ ري ي اي ) grid, ض خربى ايتطب ل ب د د حتد جات, يت ف ر ر ايتشد جات ع و إعاد ٠ تشػ ايتطب ل, أغ ل ايتطب ل ضرت ٣ ايشاش ١ ايط دا ٤ أ ا و اآل. 118

الجزء الثالث : الفصل الثامن كط ١ أخس ٣ يف ايتطب كات ايهبري ٠ اييت حتت ع ٢ ايعد د اي اذز البد أ ته ع ١ ايتأند ايتشد جات داخ امل ف app.xaml بايتشد د يف اذتدخ. Application_Startup الحصول على صالحيات المستخدم من أكبر زأ ا يف فص " ختص ايب ا ات ع ٢ د اش املطتخد " ن ف أ و ستد د ن ا حبذ 2 ذا, إذا أزدت جال تط س تطب ل ك بتطذ فات ف د جال فأ ت حباد ١ إىل طاس ١ أنرب 2 ذا, ي شص ع ٢ صالس ات أنرب ميه و فكط حتد د ارت از Require elevated trust when running outside the. out of browser setting افر ٠ browser ضتتػري افر ٠ ايتجب ت ع د ا ضتخسز افر ٠ ش ١ ٦ عا ا يتخرب املطتخد بتشر س أ ين ( ا ظس ايص ز ٠ ع ٢ اي طاز.) 119

الجزء الثالث : الفصل الثامن اى شه ١ أخس ٣ ع د ايع خازز املتصفح, يف ايتطب كات اييت حتتاز يالتصا بكاعد ٠ ايب ا ات ع و ايتأند دا ٥ ا ب د د اتصا ت فس باإل رت ت ن ته تص بكاعد ٠ ايب ا ات يع ذيو ض شتاز إىل فضا ٤ األمسا ٤ NetworkInformation ايتابع ي System.net ضأض ف أداتني اي ع label إىل ايصفش ١ ايس ٥ ط ١ حب ح تعسض ساي ١ االتصا باإل رت ت ي طتخد, يف املش د ايس ٥ ط ي تطب ل ض ط ل سدخ, NetWorkAccessChanges يف را اذتدخ ض عسض إ ا Connect أ. Disconnect ايشفس ٠ : 2: 3: NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(NetworkChange_ NetworkAddressChanged ); NetworkChange_NetworkAddressChanged اذتدخ يف ث انتب ايتاي : 2: 3: 4: 5: 6: 7: 8: 9: 10: void NetworkChange_NetworkAddressChanged(object sender, EventArgs e) { if (NetworkInterface.GetIsNetworkAvailable()) { lblcheck.content = " Connect "; lblcheck.foreground = new SolidColorBrush(Colors.Green); } else { 120

الجزء الثالث : الفصل الثامن 1 12: 13: 14: lblcheck.content = " Disconnect "; lblcheck.foreground = new SolidColorBrush(Colors.Red); } } ق بت ف ر ايتطب ل اآل ي حيدخ ش ٤ ست ٢ تكطع االتصا باإل رت ت, مبع ٢ إذا قا املطتخد بتشػ ايتطب ل نا ت ايشبه ١ أصال غري د د ٠ ي حيدخ ش ٤, ملعادت ١ ر املشه ١ ميه و فكط طخ ستت ٣ اذتدخ NetworkChange إىل املش د ايس ٥ ط يف ايصفش ١. mainpage إذا زأ ا يف را ايفص ن ف ت ت ف ر تطب كات Silverlight خازز املتصفح بشه نا تكس با, تطسق ا إىل ع ١ ايتجب ت ن ف ت ختص ص ع ١ ايتطب ل ث زأ ا ن ف تت ع ١ حتد ح ايتطب ل بد اضتخدا أ ١ فات أ ا شاب, أخريا زأ ا ن فو ميه و ساقب ١ االتصا باإل رت ت يف ساي ١ نا ايتطب ل حيتاز إىل اتصا اال رت ت. 121

الرابع الجزء التعامل مع الThemes وأداة DeepZoom يف هذا اجلزء ستتعزف على كيفية التعامل مع Themes استخدام أحد أهم األدوات اليت مت تطويزها ل, باإلضافة إىل Silverlight وهي أداة DeepZoom اليت تشتخدم لعزض الصور. بعد االنتواء من هذا اجلزء جيب أن يضاف إىل معزفتك التالي: التعامل مع الثيمات استخدام أداة. Deep zoom 122

الجزء الرابع : الفصل التاسع التاسع الفصل : ال مع التعامل themes إذا ك ت قاد و تطب كات ب طى ASP.net فى املؤكد CSS التك ات و غري ا األد ات اليت أ ك تطتدد قد تعاومت وا وع وا إل شا حب ح ك را التصى ي عا عم مج ع أجصا املشس ع, ا أت د ز تصى ي وعني themes د ز ومف app.xaml لك ر املس ض تعاون وع xaml بدال و شفس C sharp. أخريا ض س ك ف اضتددا themes جا ص بدال و إ شا و الصفس. بعد االنتهاء من هذا الفصل يجب أن يضاف إلى معرفتك التالي : تع ني ال theme ألدا وع جعم ا كىصدز يف الرب اوج باضتددا. app.xaml اضتددا theme ارتاص ب. Silverlight toolkit اضتددا theme جا ص. 123

الجزء الرابع : الفصل التاسع ال تعيين theme ألداة و جعلها معينة في كمصدر : البرنامج app.xaml باستخدام button ل بدأ بالعىن يف األدا شكن بتػري ك أ س د ال كط ر باضتددا Blend ثي افتح الصفخ الس ط يف Silverlight افتح وشس ع جد د يف, Blend Button, أضف يف button الصفخ حدد شز أ الفأز بصز ا كس و األمي, Edit Copy Edit Template أضفن ارت از حدد الكا ى ارت از حدد ثي و ضتظ س أواوك افر Create Style Resource يف ر ال افر لد ك خ ازا, 124

الجزء الرابع : الفصل التاسع إوا أ تك بتعد ن Style هلرا الصز داخن ر الصفخ فكط أ أ تك بتعد ن ارت از إىل Application حب ح تطتط ع اضتدداو عم كاون املشس ع, حدد ارت از This document اآل دع اضي ال style كىا ثي ا كس عم و افل. ضتخصن اآل عم حتكي كاون ب style ارتاص ب را الButton, ضتجد مج ع animation يف افر status كىا زأ ا ضابكا يف الفصن األ ه, ضرت مج ع األجصا اليت تك و ا button داخن OATL ل بدأ اآل بتعد ن ال status ارتاص بأدا. Button بإجسا قي Base حدد بعض التػ ريات األل ا عم كىا زأ ا يف الفصن األ ه, إذا قىت بتخد د الع صس OATL و Background ضتالحظ عالو صفسا يف جص األل ا يف أعم جص ارتصا ص, را عين ال أ ك تطتط ع تعد ن را ادتص و ا لك عم ك إعاد ب ا و الصفس, لرلك ا كس عم ال كط الصفسا حدد ارت از rest ابدأ بإعاد التصى ي. الحظ أ الصز لد العد د و اذتاالت لرلك زمبا تس د أ طا تعد ن كن ر اذتاالت. 125

الجزء الرابع : الفصل التاسع ل أشسح أ ش ع طس ك التصى ي فكد تعاوم ا وع ا و قبن يف الفصن األ ه عده وا تس د اوط بعض ال قت باضتكشاف أجصا الع صس Button بعد أ ت ت أ اومك ارتالب و التعد الت اليت تسغب ب ا, اضػط عم, CTRL + S أغمل Templers و أعم و طك التصى ي. افتح الصفخ mainpage زتددا و افر Projects ضتالحظ ع د ا بأ style ادتد د قد مت تطب ك عم ال Button امل ج د أصال, لك إ أضفت Button أخس ل تس أ ش! جيب عم ك حتد د style هلرا الع صس و ارتاص style كن أد ات Silverlight تتىتع ب ر ارتاص حدد ارتاص و شس ط properties أ احبح ع ا و أعم الشس ط, ا كس شز املسبع جبا ب ارتاص, ثي حدد ارت از local rescores ضتجد ال style ادتد د حدد ارت از ضرت را style قي بتطب ك عم الصز ادتد د. إذا أ مت حفظ را ال, style افتح ومف شفس XAML لمصفخ الس ط ا ظس إىل الع صس ادتد د الر مت اضافت, الر بدأ بال ضي UserControls.. resources األ ل تكن إىل ادتص األخري اضتددا ال Style عم وطت املشس ع ر املس, إذا قىت بإضاف صفخ جد د إىل املشس ع أضفت شز إل ا حا لت أ تفعن فظ األوس ل جتد أ, Style لرلك تي اضتددا املمف app.xaml مب, ع إذا ك ا يف البدا ع د ال افر create style resources ارت از Application فط ف تي حفظ ال style داخن ال ضي >Application.Resources< بدال و 126

يف الجزء الرابع : الفصل التاسع XAML أضف الشفس التال app.xaml افتح ومف, UserContorls إىل عكد :>Application.Resources< شفس 2: 3: 4: 5: 6: 7: 8: 9: 10: 1 12: 13: 14: 15: 16: 17: 18: 19: 20: 2 22: 23: <Style x:key="closebutton" TargetType="Button"> <Setter Property="HorizontalAlignment" Value="Right"/> <Setter Property="Width" Value="50"/> <Setter Property="Height" Value="25"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate> <Border x:name="brd1" Width="22" Height="22" CornerRadius="15"> <TextBlock x:name="txt1" Foreground="#222" TextAlignment="center" Text="r" FontSize="11" VerticalAlignment="center" FontFamily="Webdings"/> <Border.Background> <RadialGradientBrush GradientOrigin=".3,.3"> <GradientStop Color="#FFF" Offset=".15"/> <GradientStop Color="#777" Offset="1"/> </RadialGradientBrush> </Border.Background> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> 127

الجزء الرابع : الفصل التاسع ال ت صعج و شفس XAMLفقد قىت بعىم ا باضتددا style لك أز د أ حتصن عم فظ ال Blend الر قىت أ ا بإ شا, اآل عد زتددا إىل ادا Button يف الصفخ الجا افعن ارتط ات ذات ا ع د تػ ري ال style ألدا Button األ ىل ر املس ضتجد ارت از, CloseButton ميك ك أ طا اضتددا را ال style يف أ جص و أجصا املشس ع. استخدام theme ب Silverlight toolkit الخاصة أمت أ تك قد تابعت الكتاب و املكدو, لكد طمبت و ك يف املكدو أ تك بتجب ت أدا ت toolkit ارتاص ب Silverlight,حتت ر املكتب عم العد د و themes ادتا ص لالضتددا,افتح وشس ع جد د يف, Silverlight قي بتشػ ن األوجم ألدا Toolkit ذلك و قا ى ابدأ يف زتمد Microsoft Silverlight 4 Toolkit April 2010 احبح ع, Toolkit Samples ضتجد ع صس حتت وطى theming داخن ر الع صس اك تكس با, themes 21 ض أت اآل لطس ك اضتددا ر themes داخن وشاز عك يف. Silverlight 128

الجزء الرابع : الفصل التاسع إلضاف themes عم ك أ ال اضاف املساجع ارتاص ب ا, يف زتمد references أضف املكتبات كىا يف الص ز عم ال طاز بعد اضاف املكتبات ارتاص ب theming طتط ع اآل أ طتددو ا و داخن mainpage بالشكن التال : 2: 3: xmlns:blacktheming="clrnamespace:system.windows. Controls.Theming;assembly=System.Windows.Controls. Theming.BureauBlack" 129

الجزء الرابع : الفصل التاسع بعد اضتدعا فطا األمسا لم BureauBlack Theme ميك ك بكن بطاط تطب ك عم ال ى ذج باضتددا اذتا ات, ح ح أ كن Theme ميتمك ر امل ص, داخن ال Grid يف XAML اكتب : 2: 3: 4: 5: <Canvas> <BlackTheming:BureauBlackTheme> </BlackTheming:BureauBlackTheme> </Canvas> ر اذتا الس ط لم Theme اآل كن ش ضتكبت داخن را اذتا ض تىمك بشكن تمكا خصا ص را الTheme الحظ أ ميك ك أ طا الكتاب خازج را اذتا, يف الص ز اليت عم ال ىني لد ا شز أحد ىا داخن اذتا اآلخس خازج اذتا, ميك ك جتسب Themes أخس و خاله تػ ري فطا األمسا إىل الTheme الر تسغب. 130

الجزء الرابع : الفصل التاسع استخدام theme جاهزة زأ ا يف الفكستني الطابكتني ك ف تك بإ شا style خاص بك اضتددو ا عم وطت التطب ل أ عم وطت الصفخ, يف ر ال كط ض س ك ف تك بإ شا theme خاص بك اضتدداو يف تطب كات أخس, اضتددا Themes أخس داخن وشس عك. ل بدأ بال كط األ ىل, افتح وشس ع Silverlight جد د, ثي ا شأ زتمد امس Assets ح ح جست العاد عم أ ومفات themes ت ضع يف را اجملمد, داخن اجملمد أضف ع صس جد د و ال ع Silverlight Resource Dictionary مس املمف وجال. style ع د إعداد الج ىات اك بعض املطى ات املتفل عم ا أ ال Corestyles طتدد لتعد ن ث ىات املك ات الس ط ل, Silverlight ثي toolkitstyles ا تطع ث ىات األد ات Toolkit وجن أدا ت التك ي الك ا ي أدا اإلكىاه التمكا ض تعسف الحكا عم أد ات, toolkit ثي لد ا sdkstyles أد ات SDK وجن, ChildWindow DataPager Data grid ثي لد ا fonts ف تي إعال ارتط ط املطتددو يف التطب ل, ثي لد ا brushes طتدد لتدص األشكاه األل ا اليت تطتددو ا يف تصى ي الTheme, أخريا لد ا styles را األخري تك ب يف ختص أ إجسا ات تك بتعد ن شكن األدا كىا زأ ا وع أدا Button ضابكا. 131

عبارلا ءزجلا عساتلا لصفلا : 132 ددتضأض سفشلا تيلا في معلأا سفش( CloseButton ) ير ػتل نكش تا دأ Button, طكف ذط ا سفشلا ا كصلا نخاد يض لا ResourceDictionary, طترا لاتلا زابخإ ل بطتلا أب ا دل صصمخ Style Buttonsلل نخاد فمو app.xaml, ار ب نكشلا : <Application.Resources> <ResourceDictionary> 2: <ResourceDictionary.MergedDictionaries> 3: <ResourceDictionary Source="Assets/Style.xaml"/> 4: </ResourceDictionary.MergedDictionaries> 5: </ResourceDictionary> 6: </Application.Resources> 7: طكف, لآا نكت ا لىإ جذ ى لا ط سلا فضأ زش يث و صاترا style سص عمل د دتدا, لآا حبصأ ك دل فمو ك كيم style داعإ واددتضا في سجكأ و ل بطت.

الجزء الرابع : الفصل التاسع حط ا واذا ع الج ىات ادتا ص!, كىا أضمفت ذكس ضابكا كن Theme ال بد أ حيت عم ومف احد أ أكجس و املمفات اليت يف األعم, يف املسفكات وع املشس ع لد ك أزبع Themes أكجس و زا ع ميك ك اضتددو ا وع تطب كاتك بشكن وباشس حال ا احرف الButton احرف ومف, Style افتح اجملمد themes يف وسفكات املشس ع ضتجد زتمد بع ا داخن اجملمد االخري ت جد ومفات الTheme assets داخم زتمد بع ا JetPack, قي بإضاف مج ع املمفات إىل زتمد assets يف وشس عك, إذا حا لت ت ف ر املشس ع اآل ضتتفاجأ بكي ا ن و األخطا ر األخطا فكط ت ج عد ج د وكتبات Toolkit الالشو, حدد املكتبات املطم ب و افر األخطا قي بإضافت ا إىل املشس ع, ا ظس إىل الص ز يف األعم, إذا حا لت اآل أ تك بإضاف أ ع صس إىل أ صفخ يف التطب ل ضتجد وباشس أ ر األدا قد حصمت عم ال Them ادتد د هلا. ال ت ط أ تك بإضاف املمفات األخس امل ج د داخن زتمد assets إىل املمف app.xaml كىا زأ ت وع املمف Style.xaml ل صبح ومف xaml ب را الشكن : 2: 3: 4: <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Assets/Style.xaml"/> 133

الجزء الرابع : الفصل التاسع 5: 6: 7: 8: 9: 10: <ResourceDictionary Source="Assets/CoreStyles.xaml"/> <ResourceDictionary Source="Assets/SDKStyles.xaml"/> <ResourceDictionary Source="Assets/ToolkitStyles.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources> 134

الجزء الرابع : الفصل التاسع إىل ا ك قد ا ت ا و را الفصن, زأ ا ف ك ف تي تعد ن Themes األد ات ادتا ص ك ف تي اضتددا ر التعد الت عم وطت ال ى ذج أ عم وطت التطب ل بالكاون, كىا زأ ا ك ف تي إ شا Theme خاص بك اضتدداو يف تطب كات أخس, تطسق ا لمىمف app.xaml زأ ا ك ف أ را املمف معب د زا و ىا يف وشازك املصادز بني أجصا املشس ع املدتمف, أخريا زأ ا أجصا الThemes املدتمف زأ ا Themes ال. toolkit يف ال ا تصى ي تطب كات Silverlight و األو ز املىتع جدا ع د اذتد ح ع اضتددا Blend لك ا و األو ز الك ٠ ب ع د اضتددا XAML فكط. 135

الجزء الرابع : الفصل العاشر العاشر الفصل : التعامل مع DeepZoom ت فس أدا Deep Zoom طس ك ج د لعسض الص ز بدق عال بطس ك أكجس قسبا لتطب كات Silverlight م اضتخداو أدا Image العاد, ميكيك زؤ تطب ل مباشس ألدا DoopZoom عل م قع, hard Rock ضيس يف را الفصل ك ف ميكيك اضتخداو األدا بد كتاب ضطس احد م الشفس, ضتعسف حكا معي أ تصبح مط ز. Silverlight بعد االنتهاء من هذا الفصل يجب أن يضاف إلى معرفتك التالي :. DeepZome اضتخداو أدا 136

الجزء الرابع : الفصل العاشر استخدام أداة DeepZoom لكد ذكست يف املكدم زابط احلص ل عل, DeepZoom لرلك ضأفرتض يا أىك قنت بتجب ت ر األدا مطبكا, م قا ن ابدأ حدد الربىامج Deep Zoom, SilverlightDeepZoom قه بإىشا مشس ع جد د ل ك, Composer ضتجد ىفطك اآل يف ب التط س اخلاص ب. DeepZoom 137

الجزء الرابع : الفصل العاشر اضػط عل شز Add Images أضف الص ز اليت تس د ا ض بد, للربىامج املعاجل )الص ز مباشس ظلب ال طاز عل الص ز اآل ) جعل ا كنصدز اخلط إىشا شكل معني لعسض الص ز, حدد اخل از التال شس ط الص ز يف األضفل, يف اجل ال ني ضتجد شس ط Compose م األعل, ضتجد اآل ح ح أ كل ص ز تشكل طبك مطتكل برات ا, عل ال طاز ضرت اآل layers أ الطبكات, أد ات التيط ل م ذلاذا الص ز التكبري التصػري خالف, أخريا يف ميتصف ميطك العنل, شس ط م ص ز أ بطحب ابدأ قل ال زكص عل زم ا الص ز التصن ه, أثيا عنل السم ضرت احلد د احلنسا بني كل ص ز أخس. ميطك 138

الجزء الرابع : الفصل العاشر بعد أ حتدد الص ز اليت تسغب بعسض ا, اىتكل للخط األخري, Export حدد Export م األعل, ض ظ س لك شس ط عل ال طاز, لد ك أ ال اخل ازات output type مي ا ميكيك حتد د ى ع امللف الر تس د عنل Export ل ح ح ميكيك اخساج ا عل شكل ص ز أ عل شكل تطب ل Silverlight حدد, Silverlight ثه م خ ازات Export Option يف اخل از Templates ميكيك حتد د دلن ع م اخل ازات ما نيا اآل اخل از Expression Blend 4 + Source حدد اخل از, ثه غري اضه املشس ع إىل DeepZomeEx اضػط عل Export للبد بعنل التصد س, اىتظس للحظات حت تيت العنل. لييتكل إىل اضتخدام ا م, Blend اىكس عل اخل از (Preview in Browser ض ظ س را اخل از بعد عنل التصد س ). افتح املشس ع الصادز ض ا ب VS أ Blend ابدأ بتيف ر املشس ع مباشس, فكط. 139