Chciałbym wyczyścić tekst wprowadzania z mojego modelu reprezentacji, która przywiązana tam. W poniższym kodzie próbowałem to za pomocą polecenia Relay, ale to nie działa.
Co chcę osiągnąć: Po naciśnięciu przycisku z nazwą AddQuestionToQuiz
funkcja jest wykonywany przez zespół na przycisku. Funkcja OnCreateQuizClick()
położony w moim modelu oglądania, uruchamia się, i ta funkcja musi oczyścić mój tekst wejściowy, który ja w tej chwili nie mam.
Próbowałem również użyć zwykłego polecenia zamiast polecenia Relay, ale i tu nie chce pracować.
ZMIANY: POD KODEM WSZYSTKO DZIAŁA NORMALNIE - AKTUALIZACJA Kod używany do czyszczenia wprowadzania tekstu po kliknięciu na przycisk w modelu widoku, realizując interfejs INotifyPropertyChanged
.kod xaml
<Button x:Name="AddQuestionToQuiz" WidthRequest="200" Command="{Binding CreateQuizCommand}" Style="{StaticResource ButtonStyle}" Text="Add question to quiz"></Button>
ViewModel - kod
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 = "";
}
}