Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il ServiceCollectionExtensions fornisce una serie di metodi di estensione che semplificano la registrazione delle visualizzazioni e dei relativi viewModel associati all'interno del .NET MAUI IServiceCollection.
Il ServiceCollectionExtensions si trova nel namespace CommunityToolkit.Maui, quindi basta aggiungere la seguente riga per iniziare:
using CommunityToolkit.Maui;
NOTA: Questi metodi di estensione registrano solo View e ViewModels nel
IServiceCollection. Gli sviluppatori sono ancora responsabili dell'assegnazione dell'istanza iniettata di ViewModel alla proprietàBindingContextdella vista.Inoltre, questi metodi di estensione presuppongono che sia presente una relazione uno-a-uno tra View e ViewModel e che entrambi condividono la stessa durata. Gli sviluppatori dovranno ripristinare la registrazione di visualizzazioni e ViewModel singolarmente per specificare durate diverse o per gestire scenari in cui più visualizzazioni usano lo stesso ViewModel.
Registrazione di visualizzazioni e ViewModel
I metodi seguenti consentono di registrare Views e ViewModels all'interno del .NET MAUI IServiceCollection.
AddScoped<TView, TViewModel>(IServiceCollection)
Aggiunge una visualizzazione con ambito del tipo specificato in TView e ViewModel del tipo TViewModel all'oggetto IServiceCollection specificato.
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>();
}
}
Parametri di tipo
Tview
Tipo di visualizzazione da aggiungere. Vincolato a BindableObject
TViewModel
Tipo di ViewModel da aggiungere. Vincolato all'implementazione dei tipi di riferimento INotifyPropertyChanged
Parametri
services
IServiceCollection
IServiceCollection a cui aggiungere View e ViewModel.
Restituzioni
IServiceCollection Riferimento a questa istanza dopo il completamento dell'operazione.
AddSingleton<TView, TViewModel>(IServiceCollection)
Aggiunge una View singleton del tipo specificato in TView e un ViewModel del tipo TViewModel alla raccolta IServiceCollection specificata.
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>();
}
}
Parametri di tipo
Tview
Tipo di visualizzazione da aggiungere. Vincolato a BindableObject
TViewModel
Tipo di ViewModel da aggiungere. Vincolato ai tipi di riferimento che implementano INotifyPropertyChanged
Parametri
services
IServiceCollection
IServiceCollection a cui aggiungere View e ViewModel.
Restituzioni
IServiceCollection Riferimento a questa istanza dopo il completamento dell'operazione.
AddTransient<TView, TViewModel>(IServiceCollection)
Aggiunge una visualizzazione temporanea del tipo specificato in TView e ViewModel del tipo TViewModel all'oggetto IServiceCollection specificato.
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>();
}
}
Parametri di tipo
Tview
Tipo di visualizzazione da aggiungere. Vincolato a BindableObject
TViewModel
Tipo di ViewModel da aggiungere. Limitato ai tipi di riferimento che implementano INotifyPropertyChanged
Parametri
services
IServiceCollection
IServiceCollection a cui aggiungere View e ViewModel.
Restituzioni
IServiceCollection Riferimento a questa istanza dopo il completamento dell'operazione.
Registrare visualizzazioni e ViewModel con il percorso della Shell
I metodi seguenti consentono di registrare View e ViewModel in .NET MAUI IServiceCollection e di registrare esplicitamente una route per la View nel sistema di routing di .NET MAUI Shell.
AddScopedWithShellRoute<TView, TViewModel>(services, route, factory)
Aggiunge una View con ambito del tipo specificato in TView e un ViewModel del tipo TViewModel alla raccolta IServiceCollection specificata e registra la View per la navigazione di Shell alla route specificata nel parametro route. È possibile specificare un oggetto facoltativo RouteFactory per controllare la costruzione della visualizzazione.
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");
}
}
Parametri di tipo
Tview
Tipo di visualizzazione da aggiungere. Vincolato a NavigableElement
TViewModel
Tipo di ViewModel da aggiungere. Limitato ai tipi di riferimento che implementano INotifyPropertyChanged
Parametri
services
IServiceCollection
IServiceCollection a cui aggiungere View e ViewModel.
route
Stringa
La route verso cui è possibile eseguire la navigazione della vista all'interno di .NET MAUI Shell.
factory (optional)
RouteFactory
Oggetto RouteFactory per controllare la costruzione della visualizzazione.
Restituzioni
IServiceCollection Riferimento a questa istanza dopo il completamento dell'operazione.
AddSingletonWithShellRoute<TView, TViewModel>(services, route, factory)
Aggiunge una View singleton del tipo specificato in TView e un ViewModel del tipo specificato in TViewModel alla raccolta IServiceCollection specificata e registra la View per la navigazione di Shell al percorso specificato nel parametro route. È possibile specificare un oggetto facoltativo RouteFactory per controllare la costruzione della visualizzazione.
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");
}
}
Parametri di tipo
Tview
Tipo di visualizzazione da aggiungere. Vincolato a NavigableElement
TViewModel
Tipo di ViewModel da aggiungere. Limitato ai tipi di riferimento che implementano INotifyPropertyChanged
Parametri
services
IServiceCollection
IServiceCollection a cui aggiungere View e ViewModel.
route
Stringa
La route a cui è possibile passare con la View all'interno di .NET MAUI Shell.
factory (optional)
RouteFactory
Il RouteFactory per controllare la costruzione della View.
Restituzioni
IServiceCollection Riferimento a questa istanza dopo il completamento dell'operazione.
AddTransientWithShellRoute<TView, TViewModel>(services, route, factory)
Aggiunge una vista transitoria del tipo specificato in TView e una ViewModel del tipo TViewModel nella raccolta IServiceCollection specificata e registra la vista per la navigazione di Shell nel percorso specificato nel parametro route. È possibile specificare un oggetto facoltativo RouteFactory per controllare la costruzione della visualizzazione.
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");
}
}
Parametri di tipo
Tview
Tipo di visualizzazione da aggiungere. Vincolato a NavigableElement
TViewModel
Tipo di ViewModel da aggiungere. Limitato ai tipi di riferimento che implementano INotifyPropertyChanged
Parametri
services
IServiceCollection
IServiceCollection a cui aggiungere View e ViewModel.
route
Stringa
Route a cui è possibile spostarsi la vista all'interno di .NET MAUI Shell.
factory (optional)
RouteFactory
Il RouteFactory per controllare la costruzione della View.
Restituzioni
IServiceCollection Riferimento a questa istanza dopo il completamento dell'operazione.
Registrare la visualizzazione popup e il modello di visualizzazione
I metodi seguenti consentono di registrare visualizzazioni basate su popup e ViewModels all'interno del .NET MAUI IServiceCollection.
AddTransientPopup<TPopupView, TPopupViewModel>(IServiceCollection)
Aggiunge una visualizzazione temporanea del tipo specificato in TPopupView e ViewModel del tipo TPopupViewModel all'oggetto IServiceCollection specificato.
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>();
}
}
Parametri di tipo
Tview
Tipo di visualizzazione da aggiungere. Vincolato a Popup
TViewModel
Tipo di ViewModel da aggiungere. Vincolato ai tipi di riferimento che implementano INotifyPropertyChanged
Parametri
services
IServiceCollection
IServiceCollection a cui aggiungere View e ViewModel.
Restituzioni
IServiceCollection Riferimento a questa istanza dopo il completamento dell'operazione.
API
È possibile trovare il codice sorgente per ServiceCollectionExtensions nel repository .NET MAUI Community Toolkit GitHub.
.NET MAUI Community Toolkit