I have create a MessageCenterService interface
public interface IDialogService
{
Task Toasting(string title);
}
public class DialogService : IDialogService
{
public async Task Toasting(string title)
{
using (var Dialog = UserDialogs.Instance.Toast(title, null))
{
await Task.Delay(1000);
}
}
}
Now I'm trying dependency inject but:
public class LoginViewModel : BaseViewModel
{
private IDialogService _dialogService;
public ICommand LoginCommand { get; set; }
public LoginViewModel(IDialogService dialogService)
{
_dialogService = dialogService;
LoginCommand = new Command(Login);
}
}
Erro => Missing default constructor for "..LoginViewModel"
LoginPage.xaml
<ContentPage.BindingContext>
<viewModels:LoginViewModel/>
</ContentPage.BindingContext>
But if I put:
public LoginViewModel(){}
public LoginViewModel(IDialogService dialogService) //:Base() :this
{
_dialogService = dialogService;
...
}
Error disappear but IDialogService never is instantiate _dialogService always null
LoginPage.xaml.cs changes not working too..
public LoginPage()
{
InitializeComponent();
}
public LoginPage(IDialogService dialogService): base()
{
InitializeComponent();
}
I am missing something? Thanks in advance
https://forums.xamarin.com/discussion/48009/pop-display-alert-message-from-viewmodel Missing Default Constructor error in Xamarin Forms Xamarin Forms -> System.MissingMethodException: Default constructor not found for [Interface] Missing Default Constructor error in Xamarin Forms