Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poskytuje ServiceCollectionExtensions řadu rozšiřujících metod, které zjednodušují registraci zobrazení a jejich přidružené Modely ViewModel v rozhraní .NET MAUI IServiceCollection.
Najdete ServiceCollectionExtensions ho pod oborem CommunityToolkit.Maui názvů, takže stačí přidat následující řádek, abyste mohli začít:
using CommunityToolkit.Maui;
POZNÁMKA: Tyto rozšiřující metody registrují pouze View a ViewModels v souboru
IServiceCollection. Vývojáři stále zodpovídají za přiřazení vložené instance modelu ViewModel kBindingContextvlastnosti View.Tyto metody rozšíření navíc předpokládají, že mezi View a ViewModel existuje relace 1:1 a obě sdílejí stejnou životnost. Vývojáři se budou muset vrátit k registraci zobrazení a modelů ViewModel jednotlivě, aby mohli určit různé životnosti nebo zpracovávat scénáře, ve kterých více zobrazení používá stejný model ViewModel.
Registrace zobrazení a modelů ViewModels
Následující metody umožňují registrovat zobrazení a modely ViewModel v rozhraní .NET MAUI IServiceCollection.
AddScoped<TView, TViewModel>(IServiceCollection)
Přidá vymezené zobrazení typu zadaného v TView a ViewModel typu TViewModel do zadané IServiceCollection.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddScoped<HomePage, HomePageViewModel>();
}
}
Parametry typu
TView
Typ zobrazení, který chcete přidat. Omezeno na BindableObject
TViewModel
Typ modelu ViewModel, který chcete přidat. Omezeno na implementované odkazové typy INotifyPropertyChanged
Parametry
servicesIServiceCollection
IServiceCollection pro přidání view a ViewModel do.
Návraty
IServiceCollection A odkaz na tuto instanci po dokončení operace.
AddSingleton<TView, TViewModel>(IServiceCollection)
Přidá singleton View typu zadaného v TView a ViewModel typu TViewModel do zadané IServiceCollection.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddSingleton<HomePage, HomePageViewModel>();
}
}
Parametry typu
TView
Typ zobrazení, který chcete přidat. Omezeno na BindableObject
TViewModel
Typ modelu ViewModel, který chcete přidat. Omezeno na implementované odkazové typy INotifyPropertyChanged
Parametry
servicesIServiceCollection
IServiceCollection pro přidání view a ViewModel do.
Návraty
IServiceCollection A odkaz na tuto instanci po dokončení operace.
AddTransient<TView, TViewModel>(IServiceCollection)
Přidá přechodné zobrazení typu zadaného v TView a ViewModel typu TViewModel do zadané IServiceCollection.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddTransient<HomePage, HomePageViewModel>();
}
}
Parametry typu
TView
Typ zobrazení, který chcete přidat. Omezeno na BindableObject
TViewModel
Typ modelu ViewModel, který chcete přidat. Omezeno na implementované odkazové typy INotifyPropertyChanged
Parametry
servicesIServiceCollection
IServiceCollection pro přidání view a ViewModel do.
Návraty
IServiceCollection A odkaz na tuto instanci po dokončení operace.
Registrace zobrazení a modelů ViewModel pomocí trasy prostředí
Následující metody umožňují registrovat zobrazení a modely ViewModel v rámci rozhraní .NET MAUI IServiceCollection a explicitně zaregistrovat trasu do zobrazení v rámci směrování prostředí .NET MAUI.
AddScopedWithShellRoute<TView, TViewModel>(services, route, factory)
Přidá vymezené zobrazení typu zadaného v TView a ViewModel typu TViewModel do zadané IServiceCollection a zaregistruje zobrazení pro navigaci prostředí na trase zadané v parametru trasy. K řízení výstavby lze zadat volitelný RouteFactory prvek.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddScopedWithShellRoute<HomePage, HomePageViewModel>("HomePage");
}
}
Parametry typu
TView
Typ zobrazení, který chcete přidat. Omezeno na NavigableElement
TViewModel
Typ modelu ViewModel, který chcete přidat. Omezeno na implementované odkazové typy INotifyPropertyChanged
Parametry
servicesIServiceCollection
IServiceCollection pro přidání view a ViewModel do.
routestring
Trasa, do které lze zobrazení procházet v prostředí .NET MAUI Shell.
factory (optional) RouteFactory
The RouteFactory to control View construction.
Návraty
IServiceCollection A odkaz na tuto instanci po dokončení operace.
AddSingletonWithShellRoute<TView, TViewModel>(services, route, factory)
Přidá jednoúčelové zobrazení typu zadaného v TView a ViewModel typu TViewModel do zadané IServiceCollection a zaregistruje zobrazení pro navigaci prostředí na trase zadané v parametru trasy. K řízení výstavby lze zadat volitelný RouteFactory prvek.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddSingletonWithShellRoute<HomePage, HomePageViewModel>("HomePage");
}
}
Parametry typu
TView
Typ zobrazení, který chcete přidat. Omezeno na NavigableElement
TViewModel
Typ modelu ViewModel, který chcete přidat. Omezeno na implementované odkazové typy INotifyPropertyChanged
Parametry
servicesIServiceCollection
IServiceCollection pro přidání view a ViewModel do.
routestring
Trasa, do které lze zobrazení procházet v prostředí .NET MAUI Shell.
factory (optional) RouteFactory
The RouteFactory to control View construction.
Návraty
IServiceCollection A odkaz na tuto instanci po dokončení operace.
AddTransientWithShellRoute<TView, TViewModel>(services, route, factory)
Přidá přechodné zobrazení typu zadaného v objektu TView a ViewModel typu TViewModel do zadaného objektu IServiceCollection a zaregistruje zobrazení pro navigaci prostředí na trase zadané v parametru trasy. K řízení výstavby lze zadat volitelný RouteFactory prvek.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddTransientWithShellRoute<HomePage, HomePageViewModel>("HomePage");
}
}
Parametry typu
TView
Typ zobrazení, který chcete přidat. Omezeno na NavigableElement
TViewModel
Typ modelu ViewModel, který chcete přidat. Omezeno na implementované odkazové typy INotifyPropertyChanged
Parametry
servicesIServiceCollection
IServiceCollection pro přidání view a ViewModel do.
routestring
Trasa, do které lze zobrazení procházet v prostředí .NET MAUI Shell.
factory (optional) RouteFactory
The RouteFactory to control View construction.
Návraty
IServiceCollection A odkaz na tuto instanci po dokončení operace.
Registrace automaticky otevíraného zobrazení a zobrazení modelu
Následující metody umožňují registrovat automaticky otevírané zobrazení a modely ViewModel v rozhraní .NET MAUI IServiceCollection.
AddTransientPopup<TPopupView, TPopupViewModel>(IServiceCollection)
Přidá přechodné zobrazení typu zadaného v TPopupView a ViewModel typu TPopupViewModel do zadané IServiceCollection.
using CommunityToolkit.Maui;
namespace CommunityToolkit.Maui.Sample;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder()
.UseMauiCommunityToolkit()
.UseMauiApp<App>();
builder.Services.AddTransientPopup<UpdatingPopup, UpdatingPopupViewModel>();
}
}
Parametry typu
TView
Typ zobrazení, který chcete přidat. Omezeno na Popup
TViewModel
Typ modelu ViewModel, který chcete přidat. Omezeno na implementované odkazové typy INotifyPropertyChanged
Parametry
servicesIServiceCollection
IServiceCollection pro přidání view a ViewModel do.
Návraty
IServiceCollection A odkaz na tuto instanci po dokončení operace.
rozhraní API
Zdrojový kód ServiceCollectionExtensions najdete v úložišti .NET MAUI Community Toolkit na GitHubu.
.NET MAUI Community Toolkit