Eu gostaria de limpar a entrada de texto do meu ViewModel que é vinculado lá. No código abaixo, eu tentei usando um RelayCommand, mas ele não funciona.
O que eu quero fazer: Ao clicar o botão de chamada AddQuestionToQuiz
uma função é executada utilizando o Comando sobre o botão. A função OnCreateQuizClick()
, localizadas no meu ViewModel, é triggerd e esta função precisa para limpar a minha entrada de texto, o que eu não entendo o momento.
Eu também tentei usar um Comando normal em vez de usar um RelayCommand, mas também aqui não quer trabalhar.
EDIT: ABAIXO O CÓDIGO FUNCIONA CORRECTAMENTE - FOI ATUALIZADO O código é usado para limpar a entrada de texto ao clicar em um botão de seu ViewModel, implementar a Interface INotifyPropertyChanged
.xaml - código
<Button x:Name="AddQuestionToQuiz" WidthRequest="200" Command="{Binding CreateQuizCommand}" Style="{StaticResource ButtonStyle}" Text="Add question to quiz"></Button>
ViewModel - código
internal class CreateQuizPageViewModel : INotifyPropertyChanged
{
// Quiz Name Input
public String QuizNameInput { get; set; }
private String quizQuestionInput = "";
public String QuizQuestionInput
{
get { return quizQuestionInput; }
set { quizQuestionInput = value; OnPropertyChanged(); }
}
public RelayCommand CreateQuizCommand { get; set; }
public CreateQuizPageViewModel()
{
CreateQuizCommand = new RelayCommand(OnCreateQuizClick);
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public void OnCreateQuizClick()
{
QuizQuestionInput = "";
}
}