Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
ServiceCollectionExtensions fornecem uma série de métodos de extensão que simplificam o registro de Views e de seus respectivos ViewModels no .NET MAUI IServiceCollection.
O ServiceCollectionExtensions pode ser encontrado no namespace CommunityToolkit.Maui, portanto, basta adicionar a seguinte linha para começar:
using CommunityToolkit.Maui;
NOTA: Estes métodos de extensão registram apenas a View e os ViewModels no
IServiceCollection. Os desenvolvedores ainda são responsáveis por atribuir a instância injetada de ViewModel à propriedadeBindingContextda View.Além disso, esses métodos de extensão pressupõem que há uma relação um-para-um entre View e ViewModel e que ambos compartilham o mesmo tempo de vida. Os desenvolvedores precisarão voltar a registrar Views e ViewModels individualmente para especificar ciclos de vida diferentes ou para lidar com cenários em que várias Views usam o mesmo ViewModel.
Registrar Exibições e ViewModels
Os métodos a seguir permitem registrar Views e ViewModels no .NET MAUI IServiceCollection.
AddScoped<TView, TViewModel>(IServiceCollection)
Adiciona um View com escopo definido do tipo especificado em TView e o ViewModel do tipo TViewModel ao IServiceCollection especificado.
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 do Modo de Exibição a ser adicionado. Restrito a BindableObject
TViewModel
O tipo do ViewModel a ser adicionado. Restrito a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
IServiceCollection
A IServiceCollection à qual adicionar a Exibição e o Modelo de Exibição.
Devoluções
IServiceCollection Uma referência a essa instância após a conclusão da operação.
AddSingleton<TView, TViewModel>(IServiceCollection)
Adiciona uma View singleton 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.AddSingleton<HomePage, HomePageViewModel>();
}
}
Parâmetros de tipo
Tview
O tipo de exibição a ser adicionada. Restrito a BindableObject
TViewModel
O tipo do ViewModel a ser adicionado. Restrito a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
IServiceCollection
O IServiceCollection ao qual adicionar a View e o ViewModel.
Devoluções
IServiceCollection Uma referência a essa instância após a conclusão da operação.
AddTransient<TView, TViewModel>(IServiceCollection)
Adiciona uma View transitória 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.AddTransient<HomePage, HomePageViewModel>();
}
}
Parâmetros de tipo
Tview
O tipo do Modo de Exibição a ser adicionado. Restrito a BindableObject
TViewModel
O tipo do ViewModel a ser adicionado. Restrito a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
IServiceCollection
O IServiceCollection para adicionar a View e o ViewModel.
Devoluções
IServiceCollection Uma referência a essa instância após a conclusão da operação.
Registrar exibições e ViewModels com a rota do shell
Os métodos a seguir permitem registrar Views e ViewModels no .NET MAUI IServiceCollection e registrar explicitamente uma rota para a View no roteamento do Shell do .NET MAUI.
AddScopedWithShellRoute<TView, TViewModel>(services, route, factory)
Adiciona uma View com escopo do tipo especificado em TView e uma ViewModel do tipo TViewModel à IServiceCollection especificada e registra a View para navegação do Shell na rota especificada no parâmetro route. Um opcional RouteFactory pode ser fornecido para controlar a construção da exibição.
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 do Modo de Exibição a ser adicionado. Restrito a NavigableElement
TViewModel
O tipo do ViewModel a ser adicionado. Restrito a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
IServiceCollection
O IServiceCollection para adicionar a View e o ViewModel.
route
String
A rota para a qual o Modo de Exibição pode ser navegado dentro .NET MAUI Shell.
factory (optional)
RouteFactory
O RouteFactory para controlar a construção da View.
Devoluções
IServiceCollection Uma referência a essa instância após a conclusão da operação.
AddSingletonWithShellRoute<TView, TViewModel>(services, route, factory)
Adiciona uma exibição singleton do tipo especificado em TView e ViewModel do tipo TViewModel ao IServiceCollection especificado e registra o modo de exibição de navegação do Shell na rota especificada no parâmetro de rota. Um opcional RouteFactory pode ser fornecido para controlar a construção da exibição.
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 do Modo de Exibição a ser adicionado. Restrito a NavigableElement
TViewModel
O tipo do ViewModel a ser adicionado. Restrito a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
IServiceCollection
O IServiceCollection para adicionar a View e o ViewModel.
route
String
A rota para a qual se pode navegar com a View no .NET MAUI Shell.
factory (optional)
RouteFactory
O RouteFactory para controlar a construção da View.
Devoluções
IServiceCollection Uma referência a essa instância após a conclusão da operação.
AddTransientWithShellRoute<TView, TViewModel>(services, route, factory)
Adiciona uma exibição transitória do tipo especificado em TView e ViewModel do tipo TViewModel ao IServiceCollection especificado e registra a exibição de navegação do Shell na rota especificada no parâmetro de rota. Um opcional RouteFactory pode ser fornecido para controlar a construção da exibição.
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 do Modo de Exibição a ser adicionado. Restrito a NavigableElement
TViewModel
O tipo do ViewModel a ser adicionado. Restrito a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
IServiceCollection
O IServiceCollection para adicionar a View e o ViewModel.
route
String
A rota para a qual se pode navegar na View dentro do .NET MAUI Shell.
factory (optional)
RouteFactory
O RouteFactory para controlar a construção da View.
Devoluções
IServiceCollection Uma referência a essa instância após a conclusão da operação.
Registrar o modo de exibição pop-up e o modelo de exibição
Os métodos a seguir permitem que você registre Exibições baseadas em Popup e ViewModels no .NET MAUI IServiceCollection.
AddTransientPopup<TPopupView, TPopupViewModel>(IServiceCollection)
Adiciona uma View transitória do tipo especificado por TPopupView e um 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 do Modo de Exibição a ser adicionado. Restrito a Popup
TViewModel
O tipo do ViewModel a ser adicionado. Restrito a tipos de referência que implementam INotifyPropertyChanged
Parâmetros
services
IServiceCollection
A IServiceCollection à qual adicionar a View e a ViewModel.
Devoluções
IServiceCollection Uma referência a essa instância após a conclusão da operação.
API
O código-fonte do ServiceCollectionExtensions pode ser encontrado no repositório GitHub do .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit