آشنایی با بنیان نمایش ویندوز (WPF)

آشنایی با بنیان نمایش ویندوز (WPF)Reviewed by بهناز محمدی on Oct 17Rating: 5.0آشنایی با بنیان نمایش ویندوز (WPF) در سال 2018 | Urmiasiteآشنایی با بنیان نمایش ویندوز (WPF) ، کاربرد wpf در c# ، آموزش کامل بنیان نمایش ویندوز در سی شارپ، ارائه جدید متدهای wpf در سی شارپ، معماری wpf

 WPF به چه معناست؟

 بنیان نمایش ویندوز یا WPF  که برای بنیاد ویندوز ارائه شده است، جدیدترین رویکرد مایکروسافت به یک چارچوب GUI است که با چارچوب (NET.) مورد استفاده قرار می گیرد.

بنیان نمایش ویندوز (WPF) یک زیرسیستم گرافیکی برای برنامه های مبتنی بر ویندوز است. WPF در ابتدا به عنوان بخشی ازNET Framework 3.0.  در سال 2006 منتشر شد. WPF از یک مدل برنامه نویسی سازگار برای ساخت برنامه های کاربردی استفاده می کند. این مدل ها شبیه بهXML شی گرا  مانند XUL و SVG می باشد.

WPF از یک زبان XAML، مبتنی بر XML، برای تعریف و پیوند عناصر رابط کاربری استفاده می کند، مانند 2D / 3D، اسناد ثابت و تطبیقی، تایپوگرافی، گرافیک برداری، انیمیشن زمانبندی و ..که این عناصر نمیتوانند به هر شکلی استفاده شوند.

لیست امکانات در بنیان نمایش ویندوز(WPF)

در زیر امکانات و مواردی که در WPF وجود دارد به تفصیل شرح داده شده است:

اتصال داده

WPF مجموعه ای از سرویس های داده ایی را برای فعال کردن توسعه دهندگان نرم افزار برای اتصال و دستکاری داده ها در برنامه ها فراهم می کند. که چهار نوع اتصال داده را پشتیبانی می کند:

     1.همزمان: که در آن مشتری به روز رسانی در سرور را نادیده می گیرد.

     2. یک مسیره: جایی که سرویس گیرنده فقط دسترسی به خواندن داده ها را داشته باشد.

     3. دو مسیره: جایی که مشتری می تواند از آن بخواند و داده ها را به سرور ارسال کند.

     4. یک مسیربرای منبع: که در آن مشتری تنها دسترسی نوشتاری به داده ها دارد.

  • پرس و جوهایLINQ، از جمله LINQ به XML ، همچنین می تواند به عنوان منابع داده برای اتصال داده عمل کند.
  • اتصال داده ها بر ارائه آن تأثیری ندارد. WPF قالب های داده ای را برای کنترل ارائه داده ها فراهم می کند.
  • مجموعه ای از کنترل های داخلی به عنوان بخشی از WPF ارائه می شود که شامل مواردی مانند دکمه، منو، شبکه ها و جعبه لیست است.
  • یک مفهوم قدرتمند در WPF، جدایی منطقی کنترل از ظاهر آن است.
    • قالب کنترل را می توان به طور کامل تغییر ظاهر بصری آن را لغو کرد.
    • کنترل می تواند هر کنترل یا طرح دیگر را شامل شود، که امکان کنترل بالایی در ترکیب را فراهم می کند.
  • ویژگی های حالت گرافیکی حفظ شده بازنشانی صفحه نمایش همیشه ضروری نیست.
بیشتر بخوانید »»» 10 دلیل برای یادگیری زبان برنامه نویسی جاوا

سرویس های رسانه ای 

  • WPF یک سیستم یکپارچه برای ایجاد رابط کاربری با عناصر رسانه ای معمولی مانند تصاویر بردار و شطرنجی، صوتی ، تصویری و همچنین سیستم های انیمیشنی را فراهم می کند.
  • قابلیت های سه بعدی در WPF زیر مجموعه ای از ویژگی های کامل ارائه شده توسط Direct3D می باشد

      با این حال، WPF یکپارچه سازی دقیق تر با ویژگی های دیگر مانند رابط کاربر، اسناد و رسانه ها را فراهم می کند. این باعث می شود که رابط کاربر 3D،       اسناد 3D یا رسانه های 3D را داشته باشد.

  • پشتیبانی از رایج ترین فرمت های تصویری BMP، JPEG، PNG، TIFF، Windows Media Photo، GIF و ICON پشتیبانی می کند.
  • WPF از فرمت های ویدئویی WMV ، MPEG و برخی از فایل های AVI به طور پیش فرض پشتیبانی می کند، اما از آنجایی که ویندوز مدیا پلیر در زیر در حال اجرا است، WPF می تواند از تمام کدک های نصب شده برای آن استفاده کند.

الگوها 

  • در WPF شما می توانید ظاهر یک عنصر را به طور مستقیم از طریق خواص آن یا به طور غیر مستقیم با قالب یا سبک تعریف کنید. در ساده ترین شیوه، ترکیبی از تنظیمات مالکیت است که می تواند به یک عنصر UI با یک ویژگی مالکیت تک اعمال شود. قالب ها مکانیسم تعریف رابط کاربری جایگزین برای بخش هایی از برنامه WPF شما هستند. انواع مختلف قالب موجود در WPF (ControlTemplate، DataTemplate، HierarchicalDataTemplate و ItemsPanelTemplate) وجود دارد.

قالب های کنترل

  • کلیه ی کنترل های UI در WPF یک مدل ترکیب جدید است. هر کنترل از یک یا چند “تصویر” تشکیل شده است. این زیر عناصر بصری به وسیله WPF به یک درخت تصویری سلسله مراتبی تبدیل شده و در نهایت توسط GPU ارائه می شود.
  • هر کنترل در WPF یک قالب پیش فرض دارد که درخت بصری آن را تعریف می کند. قالب پیش فرض توسط نویسنده کنترل ایجاد شده است و توسط دیگر توسعه دهندگان و طراحان قابل تعویض است. UI جایگزین در ControlTemplate قرار دارد.
بنیان نمایش ویندوز (WPF)
بنیان نمایش ویندوز (WPF)

قالب داده ها

  • بنیان نمایش ویندوز(WPF) دارای یک سیستم پیوند داده انعطاف پذیر است. عناصر UI را می توان با جمعیت و هماهنگ با داده ها از یک مدل داده های زیرزمینی استخراج کرد. به جای نشان دادن متن ساده برای داده های محدود، WPF می تواند یک الگو داده (UI قابل تعویض برای انواعNET.) قبل از ارائه به درخت بصری اعمال کند.

انیمیشن ها 

  • در مقابل روش مبتنی بر قاب، WPF از انیمیشن های مبتنی بر زمان پشتیبانی می کند. این سرعت انیمیشن را از نحوه عملکرد سیستم جدا می کند.
  • WPF از انیمیشن های سطح پایین با استفاده از تایمر و انتزاع سطوح بالاتری از انیمیشن ها از طریق کلاس های انیمیشن پشتیبانی می کند.
    • هر عنصر  WPF می تواند تا زمانی که به عنوان یک ویژگی وابستگی ثبت شده است، متحرک شود.
    • کلاس های انیمیشن بر اساس نوع دیتابیس ممکن است  متحرک باشند. برای مثال، تغییر رنگ یک عنصر با کلاس ColorAnimation انجام می شود و انیمیشن عنصر (که به صورت دوتایی تایپ می شود) با استفاده از کلاس DoubleAnimation انجام می شود.
  • انیمیشن ها را می توان به Storyboards گروه بندی کرد.
  • انیمیشن ها می توانند توسط رویدادهای خارجی، از جمله عمل کاربر، باعث شوند.
  • تایمر های ارائه شده توسط WPF تنظیم و مدیریت می شوند.
  • اثرات انیمیشن را می توان بر اساس هر شیء تعریف کرد، که می تواند به طور مستقیم از نشانه گذاری XAML  قابل دسترسی باشد.

تصویربرداری 

WPF می تواند به طور مؤثر به کد ویندوز ویستا کامپوننت (WIC) دسترسی پیدا کند و API ها اجازه می دهد برنامه نویسان برای نوشتن کدک های تصویری برای فرمت های تصویری خاص خودشان را بنویسند.

بیشتر بخوانید»»» آموزش زبان PHP

اثرات 

WPF 3.0 برای اثرات Bitmap (کلاس BitmapEffect)، که اثرات شطرنجی برای یک ویژوال است، فراهم می کند. این اثرات ردیف در کد مدیریت نشده نوشته شده و رندر مجوز ویژوال را روی پردازنده اجرا می کند و سخت افزار شتاب دهنده توسط GPU انجام نمی شود. BitmapEffects در دات نت 3.5 SP 1 متوقف شد.

بنیان نمایش ویندوز (WPF)
بنیان نمایش ویندوز (WPF)

NET Framework 3.5 SP1. کلاس افکت اضافه می کند که یک اثر Pixel-Shader 2.0 است که می تواند به تصویری اعمال شود که اجازه می دهد تمام رندر در GPU باقی بماند.

کلاس Effect قابل گسترش است، به برنامه اجازه می دهد که اثرات سایه دار خود را مشخص کند.

کلاس Effect در 04 و NETSP1 3.5 . دارای دو اثر ساخته شده ی، BlurEffect و DropShadowEffect  است. جایگزینی مستقیم برای OuterGlowBitmapEffect، EmbossBitmapEffect و BevelBitmapEffect وجود ندارد، که قبلا توسط Class BitmapEffect نادرست ارائه شده بود.

 با این حال، راه های دیگری برای دستیابی به نتایج مشابه با کلاس اثر وجود دارد. به عنوان مثال، توسعه دهندگان می توانند یک اثر نور خیره کننده بیرونی را با استفاده از DropShadowEffect با ShadowDepth تنظیم شده روی 0 بگیرند.

بیشتر بدانید»»» معایب و مزایای فریمورک بوت استرپ

اسناد 

  • WPF بومی اسناد برگزیده را پشتیبانی می کند. اینdocumentViewre  کلاس را فراهم می کند که برای خواندن مدارک طرح بندی ثابت است. این FlowDocumentReader کلاس ارائه می دهد.
  • اساسا از اسناد با مشخصات XML پشتیبانی می کند .
  • پشتیبانی از خواندن و نوشتن اسناد برگزیده با استفاده از کنوانسیون متن باز .

متن

  • WPF شامل تعدادی از ویژگی های تفسیر متن است که در GDI موجود نبودند، است . این نخستین رابط برنامه نویسی ویندوز است که ویژگیهای OpenType را در اختیار توسعه دهندگان نرم افزار قرار می دهد، پشتیبانی از OpenType، TrueType و OpenType CFF .

 

  • پشتیبانی از ویژگی های چاپی OpenType شامل موارد زیر است:
    • لیگاتورها
    • اعداد قدیم (به عنوان مثال، بخش هایی از گلیف زیر پایه متن آویزان می شوند)
    • انواع Swash
    • فراکسیون ها
    • حروف بزرگ و زیرنویس
    • کلاه های کوچک
    • توجیه سطح خط
    • کاراکترهای Ruby
    •  Glyph
    • مبانی چندگانه
    • جایگزین متنی و سبک
    • Kerning

 

بنیان نمایش ویندوز (WPF)
بنیان نمایش ویندوز (WPF)

 

بنیان نمایش ویندوز(WPF ) متون را در یونیکد پردازش می کند و متون را مستقل از تنظیمات جهانی مانند سیستم محلی مدیریت می کند. علاوه بر این، مکانیسم های عقب مانده برای اجازه دادن به جهت نوشتن (افقی و عمودی) به کار گرفته شده مستقل از نام فونت ارائه شده است؛ ساخت فونت های بین المللی از فونت کامپوزیت، با استفاده از یک گروه از فونت های تک زبان؛ در ترکیب فونت ها جاسازی شده است. ارتباط فونت و اطلاعات پیش فرض فونت در یک فایل XML قابل حمل با استفاده از تکنولوژی فونت کامپوزیت ذخیره می شود.  فایل XML دارای فرمت CompositeFont است .

 

بیشتر بدانید»»» مقایسه تخصصی وب سرور های apache و iis 

دیگر امکانات WPF

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

مفسر متن WPF از پیشرفت های تکنولوژی ClearType ، از جمله موقعیت های زیر پیکسل، عرض های پیشرفته طبیعی، جهش anti-aliasing Y ، رندر متن تسریع شده سخت افزاری ، و همچنین ذخیره سازی تهاجمی از متن پیش رندر شده در حافظه تصویری استفاده می کند.  ClearType را نمی توان در برنامه های قدیمی WPF 3.x غیرفعال کرد.

بر خلاف ClearType در GDI و یا GDI +، WPF ClearType فاقد فونت برای پیکسل ها به صورت افقی نیست، و منجر به از دست دادن کنتراست  توسط برخی کاربران می شود.  موتور رندر متن در WPF 4.0 بازنویسی شده است و این موضوع را اصلاح کرده است.

کارت گرافیکی

میزان چیرگی ذخیره شده به کارت گرافیکی بستگی دارد. کارت DirectX 10 قادر به کشف قلم فونت در حافظه تصویری می باشد. سپس ترکیب (جمع آوری علامت های شخصیت در جهت درست، با فاصله صحیح)، ترکیب آلفا (استفاده از anti-aliasing) و ترکیب RGB (محاسبات رنگ و رنگ زیر پیکسل و  ClearType)، به طور کامل در سخت افزار انجام می شود.

این بدان معنی است که تنها حروف های اصلی باید یک بار در هر فونت در حافظه ی ویدئویی ذخیره شوند و سایر عملیات مانند نمایش متن ضد هجی در بالای دیگر گرافیک از جمله ویدیو می توان بدون تلاش محاسباتی در قسمت CPU انجام داد.

 

بنیان نمایش ویندوز (WPF)
بنیان نمایش ویندوز (WPF)

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

 

source

مشاهده دیگر مقالات مفید سایت مرکز طراحی سایت در ارومیه

 

نوشتن نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *