Skip to content

TBertuzzi/XamarinFormsMSExtensions

Repository files navigation

XamarinFormsMSExtensions

Exemplo de Xamarin.Forms com Microsoft Extensions

Vamos ao Nuget Instalar o Microsoft Extensions em todos os projetos.

Vamos instalar em todos os projetos:

Em Seguida precisamos criar como embedded resource o arquivo appsettings.json

Então criamos a classe Startup.cs como se estivessemos utilizando uma aplicação asp.net core. o Nome Startup é apenas como sugestão sendo que pode ser utilizado qualquer nome para a classe. O Conteudo deve simular a configuração de Inicio do Asp.net core, subindo os serviços de injeção de Dependencia , log e etc.

Inclusive graças ao HostingEnvironment podemos utilizar logicas em Desenvolvimento e produção de forma separada.

Devemos Alterar o App.xaml.cs para entender a injeção de Dependencia e chamada da pagina inicial :

using System;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace XamarinFormsMSExtensions
{
   
    public partial class App : Application
    {
        public static IServiceProvider ServiceProvider { get; set; }

        public App()
        {
            InitializeComponent();

            MainPage = ServiceProvider.GetService<MainPage>();
        }
    }
}

No Caso das ViewModels podemos utilizar Uma Interface para Cada uma :

using System;
namespace XamarinFormsMSExtensions.ViewModels
{
    public interface IMainViewModel
    {
    }
}

E Configurado nas Paginas Xaml :

using Xamarin.Forms;
using XamarinFormsMSExtensions.ViewModels;

namespace XamarinFormsMSExtensions
{
    public partial class MainPage : ContentPage
    {
        public MainPage(IMainViewModel viewModel = null)
        {
            InitializeComponent();

            BindingContext = viewModel;
        }

        protected override async void OnAppearing()
        {
            base.OnAppearing();
            await ((MainViewModel)BindingContext).Carregar();
        }
    }
}

É Possivel injetar serviços igual a utilização do Asp.net core.

Um Exemplo completo da configuração esta disponivel nesse repositorio.

Caso queira um exemplo de utilização Pratica clique aqui

About

Exemplo de Xamarin.Forms com Microsoft Extensions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages