Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O ServiceCollectionExtensions fornece uma série de métodos de extensão que simplificam o registo das Vistas e dos seus ViewModelos associados dentro do .NET MAUI IServiceCollection.
O ServiceCollectionExtensions pode ser encontrado no espaço de nomes CommunityToolkit.Maui, por isso, basta adicionar a seguinte linha para começar:
using CommunityToolkit.Maui;
NOTA: Estes métodos de extensão apenas registam a View e os ViewModels no
IServiceCollection. Os programadores continuam responsáveis por atribuir a instância injetada do ViewModel à propriedadeBindingContextda View.Além disso, estes métodos de extensão assumem que existe uma relação um a um entre o View e o ViewModel e que ambos partilham a mesma vida útil. Os programadores terão de voltar a registar Views e ViewModels individualmente para especificar tempos de vida diferentes ou para lidar com cenários em que múltiplas Views usam o mesmo ViewModel.
Registo de Vistas e Modelos de Visualização
Os métodos seguintes permitem-lhe registar Views e ViewModels dentro do .NET MAUI IServiceCollection.
AddScoped<TView, TViewModel>(IServiceCollection)
Adiciona uma Vista com âmbito do tipo especificado em TView e um ViewModel do tipo TViewModel à IServiceCollection especificada.
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>();
}
}
Parâmetros de Tipo
TView
O tipo da Vista a acrescentar. Restrito a BindableObject
TViewModel
O tipo de ViewModel a adicionar. Limitado a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
Coleção IService
A IServiceCollection onde adicionar View e ViewModel.
Devoluções
IServiceCollection Uma referência a esta instância depois de a operação estar concluída.
AddSingleton<TView, TViewModel>(IServiceCollection)
Adiciona uma View singleton do tipo especificado em TView e uma ViewModel do tipo TViewModel à IServiceCollection especificada.
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>();
}
}
Parâmetros de Tipo
TView
O tipo da Vista a acrescentar. Restrito a BindableObject
TViewModel
O tipo de ViewModel a adicionar. Limitado a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
Coleção IService
A IServiceCollection onde adicionar View e ViewModel.
Devoluções
IServiceCollection Uma referência a esta instância depois de a operação estar concluída.
AddTransient<TView, TViewModel>(IServiceCollection)
Adiciona uma View transitória do tipo especificado em TView e uma ViewModel do tipo TViewModel na IServiceCollection especificada.
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>();
}
}
Parâmetros de Tipo
TView
O tipo da Vista a acrescentar. Restrito a BindableObject
TViewModel
O tipo de ViewModel a adicionar. Limitado a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
Coleção IService
A IServiceCollection onde adicionar View e ViewModel.
Devoluções
IServiceCollection Uma referência a esta instância depois de a operação estar concluída.
Registe Views e ViewModels na rota Shell
Os métodos seguintes permitem-lhe registar Views e ViewModels no .NET MAUI IServiceCollection e registar explicitamente uma rota para a View no encaminhamento do .NET MAUI Shell.
AddScopedWithShellRoute<TView, TViewModel>(serviços, rota, fábrica)
Adiciona uma Vista com âmbito do tipo especificado em TView e ViewModel do tipo TViewModel à IServiceCollection especificada e regista a vista para navegação Shell na rota especificada no parâmetro da rota. Pode ser disponibilizado um opcional RouteFactory para controlar a construção da Vista.
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");
}
}
Parâmetros de Tipo
TView
O tipo da Vista a acrescentar. Restrito a NavigableElement
TViewModel
O tipo de ViewModel a adicionar. Restrito a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
Coleção IService
A IServiceCollection à qual adicionar a View e a ViewModel.
route
cadeia
A rota para a qual a Vista pode ser navegada dentro do .NET MAUI Shell.
factory (optional)
RouteFactory
O RouteFactory para controlar a construção da Vista.
Devoluções
IServiceCollection Uma referência a esta instância após a conclusão da operação.
AddSingletonWithShellRoute<TView, TViewModel> (serviços, rota, fábrica)
Adiciona uma vista singleton do tipo especificado em TView e a ViewModel do tipo TViewModel à IServiceCollection especificada e regista a vista para navegação no Shell na rota especificada no parâmetro route. Pode ser disponibilizado um opcional RouteFactory para controlar a construção da Vista.
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");
}
}
Parâmetros de Tipo
TView
O tipo da Vista a acrescentar. Restrito a NavigableElement
TViewModel
O tipo de ViewModel a adicionar. Limitado a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
Coleção IService
A IServiceCollection à qual adicionar a View e o ViewModel.
route
cadeia de caracteres
A rota para a qual é possível navegar na View no .NET MAUI Shell.
factory (optional)
RouteFactory
O RouteFactory para controlar a construção da Vista.
Devoluções
IServiceCollection Uma referência a esta instância após a conclusão da operação.
AddTransientWithShellRoute<TView, TViewModel>(serviços, rota, fábrica)
Adiciona uma Vista transitória do tipo especificado em TView e ViewModel do tipo TViewModel à IServiceCollection especificada e regista a vista para navegação Shell na rota especificada no parâmetro de rota. Pode ser disponibilizado um opcional RouteFactory para controlar a construção da Vista.
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");
}
}
Parâmetros de Tipo
TView
O tipo da Vista a acrescentar. Restrito a NavigableElement
TViewModel
O tipo de ViewModel a adicionar. Limitado a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
Coleção IService
A IServiceCollection onde adicionar View e ViewModel.
route
cadeia de caracteres
A rota para a qual a Vista pode ser navegada dentro do .NET MAUI Shell.
factory (optional)
RouteFactory
O RouteFactory para controlar a construção da Vista.
Devoluções
IServiceCollection Uma referência a esta instância depois de a operação estar concluída.
Registar Vista Pop-up e Modelo de Vista
Os métodos seguintes permitem-lhe registar Vistas e Modelos de Visualização baseados em Popup dentro do .NET MAUI IServiceCollection.
AddTransientPopup<TPopupView, TPopupViewModel>(IServiceCollection)
Adiciona uma View transitória do tipo especificado em TPopupView e uma ViewModel do tipo TPopupViewModel à IServiceCollection especificada.
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>();
}
}
Parâmetros de Tipo
TView
O tipo da Vista a acrescentar. Restrito a Popup
TViewModel
O tipo de ViewModel a adicionar. Limitado a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
Coleção IService
A IServiceCollection onde adicionar View e ViewModel.
Devoluções
IServiceCollection Uma referência a esta instância depois de a operação estar concluída.
API
Você pode encontrar o código-fonte para ServiceCollectionExtensions no repositório GitHub do .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit