مقدمه ای بر WPF
مقدمه
هنگامیکه NET.
برای اولین بار پا به عرصه ظهور گذاشت، تکنولوژیهای جدیدی را در
زمینه برنامهنویسی معرفی نمود. به عنوان مثال میتوان به موارد زیر اشاره
کرد:
ü
یک روش کاملاً جدید برای ایجاد برنامههای
تحت وب (ASP.NET).
ü
یک روش کاملاً جدید برای اتصال به
پایگاههای داده (ADO.NET).
ü
زبانهای نوعامن جدید (#C و VB.NET).
ü
مدیریت برنامهها در زمان اجرا (CLR).
در میان این تکنولوژیها فرمهای ویندوز، که در
واقع کتابخانهای از کلاسهای موجود برای ایجاد برنامههای ویندوزی
میباشد، بیشتر مورد استفاده قرار میگیرد. هر چند فرمهای ویندوز، ابزاری
کامل و با تمام خصوصیات برای ایجاد برنامههای ویندوزی میباشند، اما
وابستگی شدیدی به اساس کار ویندوز دارند که برای بیش از یک دهه تغییرات
زیادی در آن اعمال نشده است.
بیشترین وابستگی فرمهای ویندوز، مربوط به استفاده از APIهای ویندوز به منظور ایجاد یک
نمای بصری برای برنامههای کاربر میباشد. در این مورد میتوان به APIهایی
که برای ایجاد دکمه، جعبه متن و ... استفاده میشود اشاره کرد. بالنتیجه
نمیتوان در کنترلهایی که با استفاده از این روش ایجاد میشوند، تغییرات
زیادی اعمال کرد (تا قبل از پیدایش WPF
اکثر کاربران از همین روش برای ایجاد کنترلهای استاندارد و مورد
نظرشان استفاده مینمودند). به عنوان مثالی در این مورد، اگر بخواهید یک
دکمه با متن درخشان و شیک ایجاد کنید، دیگر نمیتوانید از توابع API
که برای ایجاد کنترل Button در نظر گرفته شدهاند
استفاده کنید. برای این منظور باید ابتدا یک UserControl ایجاد کنید و سپس عملیات ترسیمی مربوط به
جنبههای مختلف دکمه را با استفاده از مدل طراحی سطح پایین انجام دهید.
با تکیه بر مطالبی که در همین سطور بیان گردید،
دیگر نمیتوانید حتی خیال ایجاد جلوههای جالبی که در اکثر برنامههای
گرافیکی استفاده میشود (مانند موجدار کردن دکمهها، منقبض شدن فرمها
و...) در برنامهها را به
ذهنتان راه دهید. زیرا همانطور که اشاره گردید میبایست تمامی جنبههای این
جلوهها را به صورت دستی ترسیم کنید.
اساس نمایشی ویندوز (WPF) برای حل این معزلات یک ساختار
کاری کاملاً جدید را معرفی کرده است. البته WPF از کلیه کنترلهای استانداردی که تاکنون از آنها
استفاده مینمودید، پشتیبانی میکند؛ اما برای ایجاد یک کنترل کلیه ترسیمات
مربوط به متن، حاشیه و پس زمینه را خودش(WPF) انجام میدهد. با این تفاصیل،
WPF میتواند با ارئه
ویژگیهای قدرتمندتری به برنامه نویس اجازه دگرگون کردن روشی که محتوای هر
قسمت از صفحه نمایش رندر میشود را بدهد. با استفاده از این ویژگیها
میتوانید سبک کنترلهای عمومی موجود مانند دکمه را بدون نوشتن کد دوباره
طراحی کنید. به شیوه مشابهای میتوانید با استفاده از اشیاء تبدیل، هر
چیزی که بر روی واسط نمایشی برنامه قرار دارد را دستخوش تغییرات کنید. این
تغییرات عبارتند از:
ü
چرخش
ü
کشیدن
ü
بزرگنمایی