محرک

ساخت وبلاگ

.net Multi-Platform App UI (.net MAUI) به شما امکان می دهد اقدامات را به صورت اعلامیه ای در XAML بیان کنید که ظاهر کنترل ها را بر اساس وقایع یا تغییر داده ها تغییر می دهد. علاوه بر این ، محرک های دولتی ، که یک گروه تخصصی از محرک ها هستند ، هنگام استفاده از Visustate تعریف می کنند.

می توانید یک ماشه را مستقیماً به مجموعه محرک های کنترل اختصاص دهید ، یا آن را به یک فرهنگ لغت در سطح صفحه یا برنامه اضافه کنید تا در چندین کنترل اعمال شود.

محرک املاک

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

مثال زیر ماشه ای را نشان می دهد که هنگام دریافت تمرکز ، رنگ پس زمینه ورودی را تغییر می دهد:

اعلامیه ماشه موارد زیر را مشخص می کند:

  • targettype - نوع کنترل که ماشه برای آن اعمال می شود.
  • ملک - خاصیت موجود در کنترل که کنترل می شود.
  • مقدار - مقدار ، هنگامی که برای خاصیت کنترل شده رخ می دهد ، باعث فعال شدن ماشه می شود.
  • Setter - مجموعه ای از عناصر تنظیم کننده که هنگام برآورده شدن شرایط ماشه اعمال می شوند.

علاوه بر این ، مجموعه های Enteractions و ExitActions اختیاری را می توان مشخص کرد. برای اطلاعات بیشتر ، به Enteractions و ExitActions مراجعه کنید.

با استفاده از یک سبک یک ماشه را اعمال کنید

محرک ها همچنین می توانند در یک کنترل ، در یک صفحه یا یک منبع برنامه کاربردی به یک اعلامیه سبک اضافه شوند. مثال زیر یک سبک ضمنی را برای همه کنترل های ورودی در صفحه اعلام می کند:

محرک داده ها

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

مثال زیر یک DataTrigger را نشان می دهد که هنگام خالی کردن یک دکمه را غیرفعال می کند:

در این مثال ، هنگامی که طول ورودی صفر است ، ماشه فعال می شود.

هنگام ارزیابی مسیر = متن. طول همیشه مقدار پیش فرض را برای خاصیت هدف (به عنوان مثال متن = "") ارائه دهید زیرا در غیر این صورت تهی خواهد بود و ماشه مانند انتظار شما کار نمی کند.

علاوه بر این ، مجموعه های Enteractions و ExitActions اختیاری را می توان مشخص کرد. برای اطلاعات بیشتر ، به Enteractions و ExitActions مراجعه کنید.

محرک های رویداد

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

یک رویداد EventTrigger فقط به یک ویژگی رویداد نیاز دارد:

در این مثال ، هیچ عنصر تنظیم کننده ای وجود ندارد. درعوض ، یک شیء numericalIdationTriggerAction وجود دارد.

محرک های رویداد از ورود و خارج از کشور پشتیبانی نمی کنند.

اجرای عمل ماشه باید:

  • کلاس Triggeraction Generic را پیاده سازی کنید ، با پارامتر عمومی مطابق با نوع کنترل که ماشه روی آن اعمال می شود. شما می توانید از کلاس هایی مانند VisualElement برای نوشتن اقدامات ماشه که با انواع کنترل کار می کنند استفاده کنید ، یا نوع کنترل مانند ورود را مشخص کنید.
  • روش فراخوانی را نادیده بگیرید. این روش هر زمان که رویداد ماشه رخ می دهد نامیده می شود.
  • به صورت اختیاری خواصی را که می تواند در XAML تنظیم شود ، هنگام اعلام ماشه ، در معرض نمایش قرار می دهد.

مثال زیر کلاس NumericValidationTriggerAction را نشان می دهد:

هنگام به اشتراک گذاشتن محرک ها در یک منبع ، مراقب باشید. یک نمونه در بین کنترل ها به اشتراک گذاشته می شود ، بنابراین هر وضعیتی که یک بار پیکربندی شود ، برای همه آنها اعمال می شود.

چند تایی

یک MultiTrigger یک ماشه را نشان می دهد که مقادیر خاصیت را اعمال می کند ، یا اقدامات را انجام می دهد ، در صورت رضایت مجموعه ای از شرایط. قبل از اعمال اشیاء تنظیم کننده ، تمام شرایط باید درست باشد.

مثال زیر چند دستگاهی را نشان می دهد که به دو شیء ورودی متصل می شود:

علاوه بر این ، مجموعه Multitrigger. Conditions همچنین می تواند حاوی اشیاء PropertCondition باشد:

فعالیت ها و خارج از کشور

یک روش جایگزین برای اجرای تغییرات در هنگام وقوع یک ماشه با مشخص کردن مجموعه های Enteractions و ExitActions و ایجاد اجرای محرک است.

مجموعه Enteractions ، از نوع ILIST ، مجموعه ای را تعریف می کند که هنگام برآورده شدن شرایط ماشه ، مورد استفاده قرار می گیرد. مجموعه ExitActions ، از نوع ILIST ، مجموعه ای را تعریف می کند که پس از برآورده شدن شرایط ماشه ، فراخوانی خواهد شد.

اشیاء TriggerAction تعریف شده در مجموعه های Enteractions و ExitActions توسط کلاس EventTrigger نادیده گرفته می شوند.

مثال زیر یک ماشه خاصیت را نشان می دهد که یک انطباق و خارج از کشور را مشخص می کند:

اجرای عمل ماشه باید:

  • کلاس Triggeraction Generic را پیاده سازی کنید ، با پارامتر عمومی مطابق با نوع کنترل که ماشه روی آن اعمال می شود. شما می توانید از کلاس هایی مانند VisualElement برای نوشتن اقدامات ماشه که با انواع کنترل کار می کنند استفاده کنید ، یا نوع کنترل مانند ورود را مشخص کنید.
  • روش فراخوانی را نادیده بگیرید. این روش هر زمان که رویداد ماشه رخ می دهد نامیده می شود.
  • به صورت اختیاری خواصی را که می تواند در XAML تنظیم شود ، هنگام اعلام ماشه ، در معرض نمایش قرار می دهد.

مثال زیر کلاس fadetriggeraction را نشان می دهد:

شما می توانید Enteractions و ExitActions و همچنین اشیاء Setter را در یک ماشه فراهم کنید ، اما توجه داشته باشید که اشیاء تنظیم کننده بلافاصله خوانده می شوند (آنها منتظر نیستند که Enteraction یا ExitAction کامل شوند).

محرک های دولتی

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

محرک های دولتی به مجموعه StateTriggers یک VisualState اضافه می شوند. این مجموعه می تواند حاوی یک ماشه حالت واحد یا محرک های چندگانه باشد. در صورت فعال بودن هر حالت در مجموعه ، یک VisualState اعمال می شود.

هنگام استفاده از محرک های حالت برای کنترل حالت های بصری ، .net MAUI از قوانین تقدم زیر استفاده می کند تا تعیین کند کدام ماشه (و VisualState مربوطه) فعال خواهد بود:

  1. هر محرکی که از StateTriggerBase ناشی شود.
  2. یک Adaptivetrigger به دلیل شرایط MinwindowWidth که در حال برآورده شدن است ، فعال می شود.
  3. یک Adaptivetrigger به دلیل شرایط minwindowheight فعال می شود.

اگر چندین محرک به طور همزمان فعال باشند (برای مثال ، دو محرک سفارشی) ، اولین ماشه که در نشانه اعلام شده است ، برتری دارد.

محرک های دولتی را می توان به یک سبک یا مستقیماً روی عناصر تنظیم کرد.

برای کسب اطلاعات بیشتر در مورد حالت های بصری ، به حالت های بصری مراجعه کنید.

محرک حالت

کلاس StateTrigger ، که از کلاس StateTriggerbase مشتق می شود ، دارای یک خاصیت قابل اتصال است. یک StateTrigger هنگامی که مقدار خاصیت ISActive تغییر می کند ، تغییر VisualState را ایجاد می کند.

کلاس StateTriggerBase ، که کلاس پایه برای همه محرک های دولتی است ، دارای یک خاصیت isactive و یک رویداد isActiveEchanged است. این رویداد هر زمان که یک تغییر بصری رخ می دهد آتش می گیرد. علاوه بر این ، کلاس StateTriggerbase روشهای قابل دسترسی و ondetached را بیش از حد قابل مشاهده دارد.

خاصیت اتصالی StateTrigger. Isactive ، خاصیت ارثی StateTriggerBase. isactive را پنهان می کند.

مثال XAML زیر سبکی را نشان می دهد که شامل اشیاء StateTrigger است:

در این مثال ، سبک ضمنی اشیاء شبکه را هدف قرار می دهد. هنگامی که خاصیت istoggled از جسم محدود صحیح است ، رنگ پس زمینه شبکه روی سیاه تنظیم می شود. هنگامی که خاصیت istoggled از جسم محدود نادرست می شود ، یک تغییر بصری ایجاد می شود و رنگ پس زمینه شبکه سفید می شود.

علاوه بر این ، هر بار که یک تغییر بصری رخ می دهد ، رویداد isactiveEchanged برای VisualState مطرح می شود. هر VisualState یک کنترل کننده رویداد را برای این رویداد ثبت می کند:

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

محرک های حالت سفارشی را می توان با استخراج از کلاس StateTriggerbase و روشهای ناتوان و بی نظیر برای انجام هرگونه ثبت و پاکسازی مورد نیاز ایجاد کرد.

ماشه سازگار

هنگامی که پنجره یک ارتفاع یا عرض مشخص است ، یک Adaptivetrigger باعث تغییر VisualState می شود. این ماشه دارای دو خاصیت قابل اتصال است:

  • minwindowheight ، از نوع Double ، که نشانگر حداقل ارتفاع پنجره ای است که در آن باید VisualState اعمال شود.
  • minwindowwidth ، از نوع Double ، که نشان دهنده حداقل عرض پنجره است که باید در آن VisualState اعمال شود.

Adaptivetrigger از کلاس StateTriggerbase مشتق شده است و بنابراین می تواند یک کنترل کننده رویداد را به رویداد isactiveechanged وصل کند.

مثال XAML زیر سبکی را نشان می دهد که شامل اشیاء AdaptiVetrigger است:

In this example, the implicit Style targets StackLayout objects. When the window width is between 0 and 800 device-independent units, StackLayout objects to which the Style is applied will have a vertical orientation. When the window width is>= 800 واحد مستقل از دستگاه ، تغییر VisualState ایجاد می شود و جهت گیری StackLayout به افقی تغییر می کند.

خواص minwindowheight و minwindowwidth را می توان به طور مستقل یا همراه با یکدیگر استفاده کرد. XAML زیر نمونه ای از تنظیم هر دو ویژگی را نشان می دهد:

In this example, the AdaptiveTrigger indicates that the corresponding VisualState will be applied when the current window width is>= 800 device-independent units and the current window height is>= 1200 واحد مستقل از دستگاه.

مقایسه ماشه حالت

هنگامی که یک خاصیت برابر با یک مقدار خاص باشد ، مقایسه VisualState باعث تغییر VisualState می شود. این ماشه دارای دو خاصیت قابل اتصال است:

  • خاصیت ، از نوع شیء ، که نشانگر ویژگی مقایسه شده توسط ماشه است.
  • مقدار ، از نوع شیء ، که نشان دهنده مقداری است که در آن باید VisualState اعمال شود.

این مقایسه از کلاس StateTriggerbase مشتق شده است و بنابراین می تواند یک کنترل کننده رویداد را به رویداد isactiveechanged وصل کند.

مثال XAML زیر سبکی را نشان می دهد که شامل اشیاء مقایسه ای است:

در این مثال ، سبک ضمنی اشیاء شبکه را هدف قرار می دهد. هنگامی که خاصیت Ischecked از کادر انتخاب نادرست است ، رنگ پس زمینه شبکه به رنگ سفید تنظیم می شود. هنگامی که ویژگی checkbox. ischecked درست می شود ، یک تغییر VisualState ایجاد می شود و رنگ پس زمینه شبکه سیاه می شود.

ماشه حالت دستگاه

DeviceStateTrigger بر اساس پلت فرم دستگاهی که برنامه در حال اجرا است ، تغییر VisualState را ایجاد می کند. این ماشه دارای یک خاصیت قابل اتصال است:

  • دستگاه ، از نوع رشته ، که نشان دهنده پلت فرم دستگاهی است که باید در آن VisualState اعمال شود.

Devicestatetrigger از کلاس StateTriggerbase مشتق شده است و بنابراین می تواند یک کنترل کننده رویداد را به رویداد isactiveechanged وصل کند.

مثال XAML زیر سبکی را نشان می دهد که شامل اشیاء devicestatetrigger است:

در این مثال ، سبک صریح اشیاء صفحه محتوا را هدف قرار می دهد. اشیاء صفحه محتوا که سبک را مصرف می کنند ، رنگ پس زمینه خود را به نقره در iOS و به رنگ آبی کم رنگ در Android تبدیل می کنند.

محرک حالت جهت گیری

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

  • جهت گیری ، از نوع سازنده نوع ، که نشانگر جهت گیری است که باید از VisualState استفاده شود.

جهت گیری StateTrigger از کلاس StateTriggerbase مشتق شده و بنابراین می تواند یک کنترل کننده رویداد را به رویداد isactiveechanged وصل کند.

مثال XAML زیر سبکی را نشان می دهد که شامل اشیاء OrdationStateTrigger است:

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

نرم افزار مفید تریدر...
ما را در سایت نرم افزار مفید تریدر دنبال می کنید

برچسب : نویسنده : احمد شاملو بازدید : 47 تاريخ : چهارشنبه 23 فروردين 1402 ساعت: 14:35