Aracılığıyla paylaş


Işleyici

.NET Çok Platformlu Uygulama Kullanıcı Arabirimi (.NET MAUI), verileri görüntülemek, eylemleri başlatmak, etkinliği göstermek, koleksiyonları görüntülemek, veri seçmek ve daha fazlasını yapmak için kullanılabilecek platformlar arası denetimlerden oluşan bir koleksiyon sağlar. Her denetimin, denetimi soyutlayan bir arabirim gösterimi vardır. Bu arabirimleri kullanan platformlar arası kontroller, sanal görünümlerolarak bilinir. İşleyicileri bu sanal görünümleri,yerel görünümler olarak bilinen her platformdaki denetimlerle eşler. İşleyiciler ayrıca temel alınan yerel görünümün örneğini oluşturma ve platformlar arası denetim API'sini yerel görünüm API'sine eşlemeden de sorumludur. Örneğin, iOS'ta bir işleyici bir .NET MAUI Button'ı bir iOS UIButtonile eşler. Android'de, Button bir MaterialButtonolarak eşlenir.

düğme işleyici mimarisi.

.NET MAUI işleyicilerine, Buttoniçin IButton gibi denetime özgü arabirimleri aracılığıyla erişilir. Bu, platformlar arası denetimin işleyicisine başvurmasını ve işleyicinin platformlar arası denetime başvurmasını önler.

Her işleyici sınıfı, PlatformView özelliği aracılığıyla platformlar arası denetim için yerel görünümü kullanıma sunar. Bu özelliğe yerel görünüm özelliklerini ayarlamak, yerel görünüm yöntemlerini çağırmak ve yerel görünüm olaylarına abone olmak için erişilebilir. Ayrıca, işleyici tarafından uygulanan platformlar arası denetim, VirtualView özelliği aracılığıyla kullanıma sunulur.

Uygulaması her platformda yerel görünümler tarafından sağlanan bir platformlar arası denetim oluşturduğunuzda, platformlar arası denetim API'sini yerel görünüm API'lerine eşleyen bir işleyici uygulamanız gerekir. Daha fazla bilgi için bkz. işleyicilerle özel denetimler oluşturma.

Ayrıca, denetimin API'si aracılığıyla mümkün olan özelleştirmenin ötesinde mevcut platformlar arası denetimlerin görünümünü ve davranışını artırmak için işleyicileri özelleştirebilirsiniz. Bu işleyici özelleştirmesi, platformlar arası denetimin yerel görünümlerini değiştirir. İşleyiciler geneldir ve bir denetim için işleyiciyi özelleştirmek, uygulamanızda aynı türdeki tüm denetimlerin özelleştirilmesine neden olur. Daha fazla bilgi için bkz.işleyicilerle .NET MAUI denetimlerini özelleştirme .

Haritacılar

.NET MAUI işleyicilerinin temel kavramlarından biri eşleyicilerdir. Her işleyici genelliklebir özellik eşleyicisi ve bazen platformlar arası denetimin API'sini yerel görünümün API'sine eşleyen bir komut eşleyicisisağlar.

özellik eşleyici, platformlar arası denetimde bir özellik değişikliği gerçekleştiğinde hangi Eylemlerin gerçekleştireceğini tanımlar. Platformlar arası kontrolün özelliklerini, bunların ilişkili Eylemleriyle eşleştiren bir Dictionary. Ardından her platform işleyicisi, yerel görünüm API'sini işleyen Eylemlerin uygulamalarını sağlar. Bu, bir özellik platformlar arası denetimde ayarlandığında temel alınan yerel görünümün gerektiği gibi güncelleştirilmesini sağlar.

komut eşleyici, platformlar arası denetim komutları yerel görünümlere gönderdiğinde hangi Eylemlerin gerçekleştireceklerini tanımlar. Bunlar özellik haritalayıcılarına benzer, ancak ek verilerin aktarılmasına izin verir. Bu bağlamdaki bir komut, ICommand uygulaması anlamına gelmez. Bunun yerine, komut yalnızca bir yönergedir ve isteğe bağlı olarak verileri yerel görünüme gönderilir. Komut eşleyicisi, platformlar arası denetimin komutunu ilişkili Eylemleriyle eşleyen bir Dictionary. Ardından her işleyici, yerel görünüm API'sini işleyen Eylemlerin uygulamalarını sağlar. Bu, platformlar arası denetim yerel görünümüne bir komut gönderdiğinde yerel görünümün gerektiği gibi güncelleştirilmesini sağlar. Örneğin, bir ScrollView kaydırıldığında, ScrollViewHandler kaydırma konumu bağımsız değişkenini kabul eden bir Eylem çağırmak için bir komut eşleyicisi kullanır. Daha sonra Eylem, temel alınan yerel görünüme bu konuma kaydırmasını emreder.

Yerel görünümleri güncelleştirmek için eşleyicileri kullanmanın avantajı, yerel görünümlerin platformlar arası denetimlerden ayrıştırılabilmesidir. Bu, yerel görünümlerin platformlar arası denetim olaylarına abone olma ve abonelikten çıkma gereksinimini ortadan kaldırır. Ayrıca, eşleyiciler alt sınıflama olmadan değiştirilebildiği için kolay özelleştirme sağlar.

İşleyici yaşam döngüsü

tüm işleyici tabanlı .NET MAUI denetimleri iki işleyici yaşam döngüsü olayını destekler:

  • HandlerChanging, platformlar arası denetim için yeni bir işleyici oluşturulmak üzereyken ve mevcut bir işleyici platformlar arası denetimden kaldırılacakken oluşturulur. Bu olaya eşlik eden HandlerChangingEventArgs nesnesi, IElementHandlertüründe NewHandler ve OldHandler özelliklerine sahiptir. NewHandler özelliği nullolmadığında, olay platformlar arası denetim için yeni bir işleyicinin oluşturulmak üzere olduğunu gösterir. OldHandler özelliği nullolmadığında, olay mevcut yerel denetimin platformlar arası denetimden kaldırılmak üzere olduğunu gösterir, bu nedenle tüm yerel olayların bağlantısının kesilmesi ve diğer temizleme işlemlerin gerçekleştirilmesi gerekir.
  • HandlerChanged, platformlar arası bir kontrol için işleyici oluşturulduktan sonra tetiklenir. Bu olay, platformlar arası denetimi uygulayan yerel denetimin kullanılabilir olduğunu ve platformlar arası denetimde ayarlanan tüm özellik değerlerinin yerel denetime uygulandığını gösterir.

Not

HandlerChanging olayı, HandlerChanged olayından önce platformlar arası bir kontrolde oluşturulur.

Bu olaylara ek olarak, her platformlar arası denetimin HandlerChanging olayı tetiklendiğinde çağrılan geçersiz kılınabilir bir OnHandlerChanging yöntemi ve HandlerChanged olayı tetiklendiğinde çağrılan bir OnHandlerChanged yöntemi de vardır.

İşleyicileri görüntüleme

Aşağıdaki tabloda .NET MAUI'de görünümleri uygulayan türler listelenmiştir:

Görünüm Arayüz İşleyici Özellik Haritalayıcı Komut Eşleyicisi
ActivityIndicator IActivityIndicator ActivityIndicatorHandler Mapper CommandMapper
BlazorWebView IBlazorWebView BlazorWebViewHandler BlazorWebViewMapper
Border IBorderView BorderHandler Mapper CommandMapper
BoxView IShapeView, IShape ShapeViewHandler Mapper CommandMapper
Button IButton ButtonHandler ImageButtonMapper, TextButtonMapper, Mapper CommandMapper
CarouselView CarouselViewHandler Mapper
Cell CellRenderer Mapper CommandMapper
CheckBox ICheckBox CheckBoxHandler Mapper CommandMapper
CollectionView CollectionViewHandler <Mapper
ContentView IContentView ContentViewHandler Mapper CommandMapper
DatePicker IDatePicker DatePickerHandler Mapper CommandMapper
Editor IEditor EditorHandler Mapper CommandMapper
Ellipse IShape ShapeViewHandler Mapper CommandMapper
Entry IEntry EntryHandler Mapper CommandMapper
EntryCell EntryCellRenderer Mapper CommandMapper
Frame FrameRenderer Mapper CommandMapper
GraphicsView IGraphicsView GraphicsViewHandler Mapper CommandMapper
Image IImage ImageHandler Mapper CommandMapper
ImageButton IImageButton ImageButtonHandler ImageMapper, Mapper
ImageCell ImageCellRenderer Mapper CommandMapper
IndicatorView IIndicatorView IndicatorViewHandler Mapper CommandMapper
Label ILabel LabelHandler Mapper CommandMapper
Line IShape LineHandler Mapper CommandMapper
ListView ListViewRenderer Mapper CommandMapper
Map IMap MapHandler Mapper CommandMapper
Path IShape PathHandler Mapper CommandMapper
Picker IPicker PickerHandler Mapper CommandMapper
Polygon IShape PolygonHandler Mapper CommandMapper
Polyline IShape PolylineHandler Mapper CommandMapper
ProgressBar IProgress ProgressBarHandler Mapper CommandMapper
RadioButton IRadioButton RadioButtonHandler Mapper CommandMapper
Rectangle IShape RectangleHandler Mapper CommandMapper
RefreshView IRefreshView RefreshViewHandler Mapper CommandMapper
RoundRectangle IShape RoundRectangleHandler Mapper CommandMapper
ScrollView IScrollView ScrollViewHandler Mapper CommandMapper
SearchBar ISearchBar SearchBarHandler Mapper CommandMapper
Slider ISlider SliderHandler Mapper CommandMapper
Stepper IStepper StepperHandler Mapper CommandMapper
SwipeView ISwipeView SwipeViewHandler Mapper CommandMapper
Switch ISwitch SwitchHandler Mapper CommandMapper
SwitchCell SwitchCellRenderer Mapper CommandMapper
TableView TableViewRenderer Mapper CommandMapper
TextCell TextCellRenderer Mapper CommandMapper
TimePicker ITimePicker TimePickerHandler Mapper CommandMapper
ViewCell ViewCellRenderer Mapper CommandMapper
WebView IWebView WebViewHandler Mapper CommandMapper

Sayfa işleyicileri

Aşağıdaki tabloda .NET MAUI'de sayfaları uygulayan türler listelenmiştir:

Sayfa Android İşleyicisi iOS/Mac Catalyst İşleyicisi Windows Yöneticisi Özellik Eşleyicisi Komut Eşleyicisi
ContentPage PageHandler PageHandler PageHandler Mapper CommandMapper
FlyoutPage FlyoutViewHandler PhoneFlyoutPageRenderer FlyoutViewHandler Mapper CommandMapper
NavigationPage NavigationViewHandler NavigationRenderer NavigationViewHandler Mapper CommandMapper
TabbedPage TabbedViewHandler TabbedRenderer TabbedViewHandler Mapper CommandMapper
Shell ShellHandler ShellRenderer ShellRenderer Mapper CommandMapper