Jasné vstupné text z ViewModel pomocou RelayCommand

0

Otázka

Ja by som chcel vymazať záznam text z mojej ViewModel, ktoré je viazané ve tam. Kód nižšie snažil som sa to pomocou RelayCommand, ale nefunguje to.

Čo chcem dosiahnuť: kliknutím na tlačidlo s názvom AddQuestionToQuizfunkcie sa vykoná pomocou Príkazu na tlačidlo. Funkcia OnCreateQuizClick(), sa nachádza v mojom ViewModel, je triggerd a táto funkcia musí jasné môj záznam textu, čo nemám dostať sa na chvíľu.

Tiež som sa snažil použiť bežné Príkaz namiesto použitia RelayCommand, ale aj tu nechce pracovať.

EDIT: POD KÓD FUNGUJE - DOSTAL AKTUALIZOVANÉ Kód slúži na vymazanie vstupu textu kliknutím na tlačidlo z vašej ViewModel, vykonávacie INotifyPropertyChanged Rozhranie

.xaml kód

<Button x:Name="AddQuestionToQuiz" WidthRequest="200" Command="{Binding CreateQuizCommand}" Style="{StaticResource ButtonStyle}" Text="Add question to quiz"></Button>

ViewModel - kód

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

Najlepšiu odpoveď

0

EDIT: VIEWMODEL AKTUALIZOVANÉ

.xaml kód

<Button x:Name="AddQuestionToQuiz" WidthRequest="200" Command="{Binding CreateQuizCommand}" Style="{StaticResource ButtonStyle}" Text="Add question to quiz"></Button>

ViewModel - kód

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

V iných jazykoch

Táto stránka je v iných jazykoch

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