فرمت فایل : word(قابل ویرایش)+ppt
تعداد صفحات:67 ص +23 اسلاید
فهرست مطالب:
فصل اول مقدمه ای بر تکنولوژی
Windows Presentation Foundation
تکنولوژیهای جدید داتنت8
مشکلات تکنولوژیهای قبل در شخصیسازی ابزارها10
درک گرافیک ویندوز14
Directx موتور گرافیکی جدید15
درجهبندیهای WPF18
عدم وابستگی WPF به رزولوشن19
معماری WPF21
ساختار سلسله مراتبی آبجکتها در WPF24
فصل دوم زبان XAML
طراحی واسطهای گرافیکی کاربر قبل از WPF28
کاربردهای مختلف XAML29
ساختار فایلهای XAML30
شکل ساده یک سند XAML33
فضای نامها در XAML35
خواص و رویدادها در XAML36
کامپایل XAML به فایل های BAML تزریق شونده به اسمبلیها42
فصل سوم چیدمان طراحی کنترلها
ایجاد برنامههای WPF45
چیدمان عناصر در WPF49
کنترل های کانتینر (ContainerControls)51
مفهوم Content در WPF53
کنترل Expander 58
فصل چهارم نتیجهگیری
مزایای WPF61
معایب WPF64
چشم انداز65
نتیجهگیری66
منابع67
فهرست شکلها
فصل اول مقدمه ای بر تکنولوژی
Windows Presentation Foundation
شکل1-1)نمونه پیاده سازی یک دستور چهار شرطی در سیستم WF 9
شکل1-2 )کنترل منویی11
شکل1-3 )معماری WPF22
شکل1-4 )ساختار سلسله مراتبی آبجکت هایمختلف را در تکنولوژی WPF24
فصل دوم زبان XAML
شکل2-1)یک نمونه از آبجکت TextBoxکه تعدای خواص آن از جمله رنگی بهعنوان پس زمینه و رنگ پیش زمینه و .. تعریف شده است.37
شکل2-2 )در این شکل ظاهر TextBox باتغییر خاصیت BackGround و ForeGround تغییر کرده است.39
شکل2-3)وجود گزینه دیگری با عنوان را نشان میدهد که باانتخاب آن می توانید، یک رویداد جدید برای کنترل مورد نظر ایجاد کنید.41
شکل2-4)نحوه تعریف یک رویداد کلیک برای یک Button41
شکل2-5)نحوه رفتن به یک رویداد از قبل تعریف شده42
فصل سوم چیدمان طراحی کنترلها
شکل3-1) ایجاد یک پروژه WPF45
شکل3-2)نتیجه حاصل ازایجاد یک پروژه WPF Application47
شکل3-3 )نمونه ای از یکعنصر ToolTip54
شکل3-4)سلسله مراتب ارثبری کنترلهای کانتینر وکنترلهای محتوا55
شکل3-5 )نمایش عکس بعنوان محتوای یک Button58
فصل چهارم نتیجهگیری
شکل4-1) نمای ظاهری یاهو مسنجر جدید ویژه سیستم عامل ویستا 65
چکیده:
به طور کلی برنامه های ویندوزی از دو امکان، توابع User32 و GDI/GDI+ برای ترسیم عناصر گرافیکی استفاده میکنند. شرکت مایکروسافت به دلیل محدودیت هایی که در هر یک از دوبخش فوق، وجود داست، اقدام به ایجاد کتابخانه سطح بالایی به نام DirectX کرد. این ابزار با بهره گیری از توان کارت های گرافیکی با بهره بری بالا، حداکثر توان آن را برای ایجاد گرافیک های قوی به کار میبرد. اما به دلیل برقراری ارتباط مشکل با آن و نیاز به کد نویسی های زیاد، این ابزار بیشتر در تهیه بازی ها و برنامه های گرافیکی مورد استفاده قرار گرفت و جایگاه زیادی در توسعه برنامه های تجاری پیدا نکرد. تکنولوژی WPF یا Avalon یک زیر سیستم گرافیکی لحاظ شده در دات نت 3.0 به بالا است که باعث جداسازی ساختار UI از منطق Business Logic میگردد. معادل آن (زیر مجموعه ای از آن) در وب هم مورد استفاده قرار میگیرد با نامWPF/E )با نام رمز(SilverLight و تمامی این مشکلات را مرتفع کرده. WPF از تمامی قدرت DirectX جهت ایجاد گرافیک های 2 بعدی و 3 بعدی استفاده میکند. همچنین ابزار های بسیاری را جهت طراحی کردن در اختیار شما قرار میدهد.[saf]
تکنولوژی های جدید دات نت
همزمان با ظهور نسخه 3.0 دات نت فریم ورک، تکنولوژی های جدیدی نیز به وجود آمد. این تکنولوژی ها، که بر خلاف تصور سطحی و ابتدایی بسیاری از برنامه نویسان درابتدای ظهور آن ها، صرفا اضافه شدن تعدادی دات نت اسمبلی به دات نت اسمبلی های قبلی، تلقی می شد، تغییرات بسیاری را در امر برنامه نویسی دات نت به وجود آورد. تکنولوژی WPF به همراه تکنولوژی های WCF و WWF با نسخه 3.0 دات نت فریم ورک توسط شرکت ماکروسافت معرفی شدند.در ادامه توضیح مختصری راجع به WCF و WWF خواهیم دید و سپس به بحث اصلی، یعنیWPF خواهیم پرداخت.
Windows Communication Foundation
تکنولوژی WCF که مخفف Windows Communication Foundation می باشد، ترکیب شده تکنولوژی های ارتباطی مختلفی که در دات نت فریم ورک 2.0 وجود داشت، می باشد. در دات نت فریم ورک 2.0 ، تکنولوژی های ارتباطی بین سیستم ها عبارت بودند از، ارتباطات بر پایه Soap ، ارتباطات دودویی بهینه شده و…. تکنولوژی WCF که با نام Indigo نیز شناخته می شود، تمامی جنبه های ارتباطی بین سیستم ها را درون خود دارد.
Windows Workflow Doundation
تکنولوژی WWF که مخفف Windows Workflow Foundation می باشد و بیشتر به صورت مخفف WF نشان داده می شود، امکان پیاده سازی و حل مسائل پیچیده دنیای پیرامون خود را که در حالت عادی ممکن است حل آن بسیار پیچییده و دشوار به نظر آید، به صورت بصری و بسیار ساده ارائه می کند. در کل دو شکل Sequential و State Machine را می توانید با WF پیاده سازی کنید. به عنوان نمونه بسیار ساده به راحتی می توانید یک دستور چند شرطی را به صورت کاملا انتزاعی و با امکاناتی که برای طراحی آن موجود است، پیاده سازی نمایید. به عنوان مثال شکل1-1نمونه پیاده سازی یک دستور چهار شرطی در سیستم WF از نوع Sequential می باشد.
تکنولوژی دیگری که همراه با دات نت فریم ورک 3.0 منتشر شد، Windows CardSpace بود که با نام info Card نیز معروف می باشد.
مشکلات تکنولوژیهای قبل در شخصیسازی ابزارها
پس از توضیح و اشارات مختصری درباره تکنولوژی های همپای تکنولوژی WPF که ارتباط بسیار نزدیکی نیز با هم دارند، اینک به معرفی تکنولوژی WPF خواهم پرداخت. WPF سر آغاز سه کلمه Windows Presentation Foundation می باشد. این تکنولوژی برای NET. طراحی شده است و همچنین تاثیر زیادی بر تکنولوژیهای نمایشی جدیدی مانند HTML و Flash داشته و باعث بهینه سازی سرعت سخت افزار میگردد. WPF شامل تغییرات بنیادینی در زمینه واسط گرافیکی ویندوز از زمان Windows95 میباشد.
هر کسی که تا به حال در محیط های گرافیکی و یا به اصلاح برنامه نویسان، محیط های ویژوال، برنامه نویسی کرده باشد، یقینا با مفاهیم Windows Application ها که گاها به صورت مخفف WinApp نیز نامیده می شوند، آشنا می باشد. این نوع برنامه نویسی همزمان با ورود سیستم عامل های ویندوز در دنیای کامپیوتر شروع شد و روز به روز با به وجود آمدن زبان های متفاوت جایگاه محبوبتری نزد برنامه نویسان پیدا کرد. در اینجا قصد توضیح دادن این نوع برنامه نویسی را ندارم. فقط نگاهی گذرا به آن خواهم داشت تا مفهوم تکنولوژی WPF برایتان روشن تر گردد. همانطور که می دانید، Windows Application ها، از API های سیستم عامل مربوطه ( که اکثرا ویندوز XP نیز می باشد) برای ترسیم عناصر گرافیکی یا همان عناصر ویژوال، استفاده می کنند. به عنوان مثال برای ترسیم انواع دکمه ها، فرم ها و بسیاری از عناصردیگری که با آن ها آشنا هستید، از توابع API ویندوز کمک گرفته می شود. همین مسئله باعث ایجاد محدودیت برای برنامه نویسان در ایجاد کنترل های سفارشی با ظاهر دلخواه خود شده بود. اگر چه با ابزار های گرافیکی که در دات نت فریم ورک 2.0 نیز وجود داشت، می توانستیم تا حد خوبی اقدام به ایجاد کنترل های مورد دلخواه خود را بکنیم، اما این موضوع نیاز به دانستن اطلاعات زیاد در مورد ایجاد کنترل های سفارشی و همچنین نوشتن گاها کد های بسیار زیادی جهت ایجاد کنترل مورد نظر می بود. این به آن دلیل بود که قالب و اساس اولیه کنترل ها بسته بود و نمی توانستید به راحتی کنترل ها را شخصی سازی نمایید. در بهترین حالت، یک برنامه نویس ماهر میتوانست با ارث بری از کلاس Control اقدام به ایجاد یک کنترل جدید با ظاهر و امکانات مورد نظر خود بکند. به عنوان مثال تنها یکی از کلاس های کنترل منویی که در شکل1-2دیده میشود دارای 1000 خط کد به غیر از کدهای تولید شده توسط خود دات نت می باشد. شاید 1000 خط، برای یه برنامه نویس بسیار ناچیز باشد. ولی چنانچه بخواهید تمامی کنترل های برنامه های خود را، خودتان طراحی کنید، می بینید که زمان زیادی از وقت شما صرف نوشتن کد ها می گردد.
این مسئله زمانی نمود بیشتری پیدا میکند که بخواهید، اکثر جنبه های یک کنترل را در کنترل سفارشی خود قرار دهید. به عنوان مثال به دلیل قرار گرفتن حالت های مختلف گرادیان بر روی منو، استفاده از امکانات قبلی مانند ترسیم متن آیتم به صورت اتوماتیک توسط خود منو و یا ترسیم کلید های میان بر آیتم و …. از بین می رود و تمامی این موارد بایستی با کد و توسط شما ایجاد گردد. درست است که می توان از کنترل های ایجاد شده توسط خودتان به کرات و در برنامه های مختلف استفاده کنید و لی تجربه نشان داده است که گاهی نیز مجبور به ایجاد کنترل دیگری شوید. این به این دلیل نیست که شما الزاما کنترل قبلی خود را خوب طراحی نکرده اید . عوامل زیادی می توانند باعث بروز این مورد شوند که پرداختن به آن ها از حوصله این بحث خارج است.