Wyczyść tekst wprowadzania z ViewModel za pomocą polecenia RelayCommand

0

Pytanie

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ą AddQuestionToQuizfunkcja 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 = "";
    }
}
1

Najlepsza odpowiedź

0

ZMIANA: AKTUALIZACJA MODEL OGLĄDANIA

.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 = "";
    }
}
2021-11-24 08:58:05

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................