پایان نامه تکنولوژی WPF - Windows Presentation Foundation

تعداد صفحات: 67 فرمت فایل: powerpoint - word کد فایل: 10002678
سال: 1388 مقطع: کارشناسی دسته بندی: پایان نامه مهندسی کامپیوتر
قیمت قدیم:۱۳,۳۰۰ تومان
قیمت: ۱۱,۲۰۰ تومان
دانلود مقاله
  • خلاصه
  • فهرست و منابع
  • خلاصه پایان نامه تکنولوژی WPF - Windows Presentation Foundation

    کارشناسی ناپیوسته کامپیوتر

    چکیده - به طور کلی برنامه های ویندوزی از دو امکان، توابع User32 و GDI/GDI+ برای ترسیم عناصر گرافیکی استفاده می‌کنند. شرکت مایکروسافت به دلیل محدودیت هایی که در هر یک از دوبخش فوق، وجود داست، اقدام به ایجاد کتابخانه سطح بالایی به نام DirectX کرد. این ابزار با بهره گیری از توان کارت های گرافیکی با بهره بری بالا، حداکثر توان آن را برای ایجاد گرافیک های قوی به کار می‌برد. اما به دلیل برقراری ارتباط مشکل با آن و نیاز به کد نویسی های زیاد، این ابزار بیشتر در تهیه بازی ها و برنامه های گرافیکی مورد استفاده قرار گرفت و جایگاه زیادی در توسعه برنامه های تجاری پیدا نکرد. تکنولوژی WPF یا Avalon یک زیر سیستم گرافیکی لحاظ شده در دات نت 3.0 به بالا است که باعث جداسازی ساختار UI از منطق Business Logic  می‌گردد. معادل آن (زیر مجموعه ای از آن) در وب هم مورد استفاده قرار می‌گیرد با نامWPF/E  )با نام رمز(SilverLight  و تمامی این مشکلات را مرتفع کرده. WPF از تمامی قدرت DirectX جهت ایجاد گرافیک های 2 بعدی و 3 بعدی استفاده می‌کند. همچنین ابزار های بسیاری را جهت طراحی کردن در اختیار شما قرار می‌دهد.[saf]

    کلید واژه – BAML ،Directx ،GDI ،WPF ،XAML

    فصل اول:

    تکنولوژی های جدید دات نت

    همزمان با ظهور نسخه 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 خط، برای یه برنامه نویس بسیار ناچیز باشد. ولی چنانچه بخواهید تمامی کنترل های برنامه های خود را، خودتان طراحی کنید، می بینید که زمان زیادی از وقت شما صرف نوشتن کد ها می گردد.

    این مسئله زمانی نمود بیشتری پیدا میکند که بخواهید، اکثر جنبه های یک کنترل را در کنترل سفارشی خود قرار دهید. به عنوان مثال به دلیل قرار گرفتن حالت های مختلف گرادیان بر روی منو، استفاده از امکانات قبلی مانند ترسیم متن آیتم به صورت اتوماتیک توسط خود منو و یا ترسیم کلید های میان بر آیتم و .... از بین می رود و تمامی این موارد بایستی با کد و توسط شما ایجاد گردد. درست است که می توان از کنترل های ایجاد شده توسط خودتان به کرات و در برنامه های مختلف استفاده کنید و لی تجربه نشان داده است که گاهی نیز مجبور به ایجاد کنترل دیگری شوید. این به این دلیل نیست که شما الزاما کنترل قبلی خود را خوب طراحی نکرده اید . عوامل زیادی می توانند باعث بروز این مورد شوند که پرداختن به آن ها از حوصله این بحث خارج است.

    حال که تا حدودی با مشکلات برنامه نویسی های WinApp به روش جاری شدید، در ادامه به معرفی WPF خواهم پرداخت و در ادامه بحث های این آموزش، خواهید دید که WPF چگونه بسیاری از مشکلات موجود را مرتفع می کند.

    تکنولوژی WPF به روشی دیگر عمل می کند. در واقع علاوه بر اینکه این تکنولوژی همچنان دارای کنترل های سابقی که آن ها را می شناسید، می باشد، می تواند دسترسی به بیشتر جنبه های کنترل ها را برای شما فراهم کند. در واقع قدرت WPF در این است که اساس و پایه هر کنترلی مانند برنامه نویسی قبل، بسته نیست و این شما هستید که به WPF خواهید گفت که متن روی کنترل را به چه صورتی طراحی کنید. یا پس زمینه کنترل یا کناره های آن را به آن صورتی که شما می گویید طراحی کند. به همین منظور نیز دارای ابزارهای بسیار زیادی جهت کار برای طراحی کنترل های شما مهیا می کند. ابزارهایی مانند قلم موهای گرادیان با تعداد رنگ های نامحدود، انواع ابزار های گرافیکی برای ترسیم شکل دلخواه شما، امکان ایجاد افکت های بسیار زیبا و متنوع بر روی هر قسمتی از کنترل که بخواهید، وجود افکت­های از پیش تعریف شده، امکان طراحی های 2 بعدی و نیز 3 بعدی، امکان ایجاد انیمیشن و بسیاری از امکانات دیگر که به مرور با آن ها آشنا خواهید شد. [sof]

    ساختار ویژگی­های جدید در WPF، در واقع یک ساختار جدید و قدرتمند که براساس DirectX و APIهایِ گرافیکی سریعِ سخت افزاری، که معمولاً در اکثر بازی­های کامپیوتری مدرن استفاده می­شوند، پایه­گذاری شده است. این بدان معناست که برنامه­نویس می­تواند از Effectهای گرافیکی

    جالب، بدون توجه سربار اجرایی که به دلیل استفاده از فرم­های ویندوزی ممکن است به وجود آید، استفاده کند. در حقیقت می­توانید از ویژگی­های پیشرفته­ای مانند پشتیبانی از فایل­های ویدئویی و محتویات D3 در فرم­های ویندوزی استفاده کنید.

    با به کارگیری این ویژگی­ها( به همراه یک ابزار طراحی مناسب) امکان ایجاد واسط­ های کاربری تحریک کننده چشم و Effectهای بصری ویژه وجود خواهد داشت. البته باید مجدداً خاطرنشان کنیم که انجام چنین کار­هایی با استفاده از فرم­های ویندوزی تقریباً غیرممکن است.

    با توجه به اینکه ویژگی­های مربوط به پویانمایی، D3 و فایل­های ویدئویی بیشترین توجه در WPF را معطوف خود می­کند، باید توجه داشته باشید که با استفاده از WPF می­توانید برنامه­های ویندوزی معمولی را با استفاده از خصوصیات بصری ساده (قدیمی) نیز ایجاد کنید. به عبارت دیگر استفاده از کنترل­های معمولی تا هنگامی که WPF در فرم­های ویندوزی کار می­کند به سادگی امکان پذیر است. حتی می­توان این طور بیان کرد که WPF ویژگی­هایی که مستقیماً به توسعه دهندگان تجاری می­شود را تسهیل بخشیده است. این ویژگی­ها به طور گسترده­ای شامل مدل انقیاد داده­ها، یک مجموعه جدید از کلاس­ها برای چاپ محتویات و مدیریت صف­های چاپ و یک مشخصه متنی برای نشان دادن متن­های بزرگ قالب­دار می­شوند.

    همچنین یک روش جدید برای ایجاد برنامه­های بر مبنای صفحه که به صورت پیوسته در IE اجرا می­شوند و می­توان از طریق یک وب سایت به آن دسترسی پیدا کرد و آن را اجرا نمود نیز در نظر گرفته شده است. در این مدل، دیگر اخطارهای امنیتی متداول و تاییدیه­های رنجاننده مربوط به نصب را مشاهده نخواهید کرد.

    WPF یک چارچوب نمایشی کاملاً جدید است که توانایی­های بسیاری از چارچوب­های قبلی را مانند  GDI+، GDI، User و HTML با یکدیگر ترکیب کرده است و توانایی تاثیر گزاری بر روی ابزارهای ایجاد پویانمایی در وب مانند Flash را نیز دارد. البته بر روی برنامه­های ویندوزی مانند Microsoft Word نیز تاثیرگذار است.

    لینک دانلود پروپوزال این پایان نامه 

  • فهرست و منابع پایان نامه تکنولوژی WPF - Windows Presentation Foundation

    فهرست:

    چکیده

    فصل اول :مقدمه ای بر تکنولوژی

     Windows Presentation Foundation

     

    تکنولوژی­های جدید دات­نت

    مشکلات تکنولوژی­های قبل در شخصی­سازی ابزارها

    درک گرافیک ویندوز

    Directx موتور گرافیکی جدید

    درجه­بندی­های WPF

    عدم وابستگی WPF به رزولوشن

    معماری WPF

    ساختار سلسله مراتبی آبجکت­ها در WPF

     

    فصل دوم :زبان XAML

    طراحی واسط­های گرافیکی کاربر قبل از WPF

    کاربردهای مختلف XAML

    ساختار فایل­های XAML

    شکل ساده یک سند XAML

    فضای نام­ها در XAML

    خواص و رویدادها در XAML

    کامپایل XAML به فایل های BAML تزریق شونده به اسمبلی ها

     

    فصل سوم :چیدمان طراحی کنترل­ها

    ایجاد برنامه­های WPF

    چیدمان عناصر در WPF

    کنترل های کانتینر (ContainerControls)

    مفهوم Content در WPF

    کنترل Expander

     

    فصل چهارم:نتیجه­گیری

    مزایای WPF

    معایب WPF

    چشم انداز

    نتیجه­گیری

    منابع



    منبع:

     

                           [20/01/1388]              http://www.barnamenevis.org[bar]

                           [10/02/1388]                 [blo] http://www.blog.mehdivk.net

       [15/12/1387]                                        [sof] http://www.softprojects.org

    [per]http://www.persiadevelopers.com               [30/01/1388]                        

ثبت سفارش
عنوان محصول
قیمت