ServiceCollectionExtensions
Udostępnia ServiceCollectionExtensions
serię metod rozszerzeń, które upraszczają rejestrowanie widoków i skojarzonych z nimi modeli ViewModel w programie .NET MAUI IServiceCollection
.
Element ServiceCollectionExtensions
można znaleźć w obszarze CommunityToolkit.Maui
przestrzeni nazw, więc wystarczy dodać następujący wiersz, aby rozpocząć pracę:
using CommunityToolkit.Maui;
UWAGA: Te metody rozszerzeń rejestrują tylko modele View i ViewModels w obiekcie
IServiceCollection
. Deweloperzy są nadal odpowiedzialni za przypisanie wprowadzonego wystąpienia modelu ViewModel doBindingContext
właściwości Widoku.Ponadto te metody rozszerzeń zakładają, że istnieje relacja jeden do jednego między modelami View i ViewModel, a obie te metody mają ten sam okres istnienia. Deweloperzy będą musieli przywrócić rejestrację widoków i modelu widoków indywidualnie, aby określić różne okresy istnienia lub obsługiwać scenariusze, w których wiele widoków korzysta z tego samego modelu ViewModel.
Rejestrowanie widoków i modeli widoków
Poniższe metody umożliwiają rejestrowanie widoków i modelu ViewModels w programie .NET MAUI IServiceCollection
.
AddScoped<TView, TViewModel>(IServiceCollection)
Dodaje widok o określonym zakresie typu określony w modelu TView i ViewModel typu TViewModel do określonej kolekcji 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
Widok TView
Typ widoku do dodania. Ograniczone do BindableObject
TViewModel
Typ modelu ViewModel do dodania. Ograniczone do typów referencyjnych implementowanych INotifyPropertyChanged
Parametry
services
IServiceCollection
IServiceCollection, aby dodać element View i ViewModel do.
Zwraca
IServiceCollection odwołanie do tego wystąpienia po zakończeniu operacji.
AddSingleton<TView, TViewModel>(IServiceCollection)
Dodaje pojedynczy widok typu określonego w modelu TView i ViewModel typu TViewModel do określonej klasy 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
Widok TView
Typ widoku do dodania. Ograniczone do BindableObject
TViewModel
Typ modelu ViewModel do dodania. Ograniczone do typów referencyjnych implementowanych INotifyPropertyChanged
Parametry
services
IServiceCollection
IServiceCollection, aby dodać element View i ViewModel do.
Zwraca
IServiceCollection odwołanie do tego wystąpienia po zakończeniu operacji.
AddTransient<TView, TViewModel>(IServiceCollection)
Dodaje widok przejściowy typu określonego w modelu TView i ViewModel typu TViewModel do określonej kolekcji 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
Widok TView
Typ widoku do dodania. Ograniczone do BindableObject
TViewModel
Typ modelu ViewModel do dodania. Ograniczone do typów referencyjnych implementowanych INotifyPropertyChanged
Parametry
services
IServiceCollection
IServiceCollection, aby dodać element View i ViewModel do.
Zwraca
IServiceCollection odwołanie do tego wystąpienia po zakończeniu operacji.
Rejestrowanie widoków i modeli widoków za pomocą trasy powłoki
Poniższe metody umożliwiają zarejestrowanie widoków i modeli widoków w programie .NET MAUI IServiceCollection
i jawne zarejestrowanie trasy do widoku w ramach routingu powłoki MAUI platformy .NET.
AddScopedWithShellRoute<TView, TViewModel>(usługi, trasa, fabryka)
Dodaje widok o określonym zakresie typu określony w TView i ViewModel typu TViewModel do określonego elementu IServiceCollection i rejestruje widok nawigacji powłoki w trasie określonej w parametrze trasy. Opcjonalnie RouteFactory
można kontrolować konstrukcję Widoku.
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
Widok TView
Typ widoku do dodania. Ograniczone do NavigableElement
TViewModel
Typ modelu ViewModel do dodania. Ograniczone do typów referencyjnych implementowanych INotifyPropertyChanged
Parametry
services
IServiceCollection
IServiceCollection, aby dodać element View i ViewModel do.
route
string
Trasa, do której można nawigować po widoku w powłoce MAUI platformy .NET.
factory (optional)
RouteFactory
Kontrolka do RouteFactory
sterowania konstrukcją Widok.
Zwraca
IServiceCollection odwołanie do tego wystąpienia po zakończeniu operacji.
AddSingletonWithShellRoute<TView, TViewModel>(usługi, trasa, fabryka)
Dodaje pojedynczy widok typu określony w modelu TView i ViewModel typu TViewModel do określonego elementu IServiceCollection i rejestruje widok nawigacji powłoki w trasie określonej w parametrze trasy. Opcjonalnie RouteFactory
można kontrolować konstrukcję Widoku.
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
Widok TView
Typ widoku do dodania. Ograniczone do NavigableElement
TViewModel
Typ modelu ViewModel do dodania. Ograniczone do typów referencyjnych implementowanych INotifyPropertyChanged
Parametry
services
IServiceCollection
IServiceCollection, aby dodać element View i ViewModel do.
route
string
Trasa, do której można nawigować po widoku w powłoce MAUI platformy .NET.
factory (optional)
RouteFactory
Kontrolka do RouteFactory
sterowania konstrukcją Widok.
Zwraca
IServiceCollection odwołanie do tego wystąpienia po zakończeniu operacji.
AddTransientWithShellRoute<TView, TViewModel>(usługi, trasa, fabryka)
Dodaje widok przejściowy typu określonego w modelu TView i ViewModel typu TViewModel do określonego elementu IServiceCollection i rejestruje widok nawigacji powłoki w trasie określonej w parametrze trasy. Opcjonalnie RouteFactory
można kontrolować konstrukcję Widoku.
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
Widok TView
Typ widoku do dodania. Ograniczone do NavigableElement
TViewModel
Typ modelu ViewModel do dodania. Ograniczone do typów referencyjnych implementowanych INotifyPropertyChanged
Parametry
services
IServiceCollection
IServiceCollection, aby dodać element View i ViewModel do.
route
string
Trasa, do której można nawigować po widoku w powłoce MAUI platformy .NET.
factory (optional)
RouteFactory
Kontrolka do RouteFactory
sterowania konstrukcją Widok.
Zwraca
IServiceCollection odwołanie do tego wystąpienia po zakończeniu operacji.
Rejestrowanie widoku podręcznego i modelu wyświetlania
Poniższe metody umożliwiają rejestrowanie widoków opartych na oknach podręcznych i modelu ViewModels w programie .NET MAUI IServiceCollection
.
AddTransientPopup<TPopupView, TPopupViewModel>(IServiceCollection)
Dodaje widok przejściowy typu określonego w TPopupView i ViewModel typu TPopupViewModel do określonego elementu 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
Widok TView
Typ widoku do dodania. Ograniczone do Popup
TViewModel
Typ modelu ViewModel do dodania. Ograniczone do typów referencyjnych implementowanych INotifyPropertyChanged
Parametry
services
IServiceCollection
IServiceCollection, aby dodać element View i ViewModel do.
Zwraca
IServiceCollection odwołanie do tego wystąpienia po zakończeniu operacji.
interfejs API
Kod źródłowy można ServiceCollectionExtensions
znaleźć w repozytorium GitHub zestawu narzędzi .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit