ServiceCollectionExtensions
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 kBindingContext
vlastnosti 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
services
IServiceCollection
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
services
IServiceCollection
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
services
IServiceCollection
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
services
IServiceCollection
IServiceCollection pro přidání view a ViewModel do.
route
string
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
services
IServiceCollection
IServiceCollection pro přidání view a ViewModel do.
route
string
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
services
IServiceCollection
IServiceCollection pro přidání view a ViewModel do.
route
string
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
services
IServiceCollection
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