L'effacement d'une entrée de texte à partir de ViewModel à l'aide de RelayCommand

0

La question

Je voudrais effacer l'entrée de texte à partir de mon ViewModel qui est lié là. Dans le code ci-dessous je l'ai essayé à l'aide d'un RelayCommand, comme, mais il ne fonctionne pas.

Ce que je veux accomplir: en cliquant sur le bouton nommé AddQuestionToQuizune fonction est exécutée par l'aide de la Commande sur le bouton. La fonction OnCreateQuizClick(), situé dans mon ViewModel, est triggerd et cette fonction doit effacer mon entrée de texte, je n'ai pas pour le moment.

J'ai aussi essayé d'utiliser une Commande régulière au lieu d'utiliser un RelayCommand, mais aussi ici qu'il ne veulent pas travailler.

EDIT: SOUS LE CODE FONCTIONNE TRÈS BIEN - S'EST MIS À JOUR Le Code est utilisé pour désactiver l'entrée de texte en cliquant sur un bouton de votre ViewModel, la mise en œuvre de l'Interface INotifyPropertyChanged

.xaml - code

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

ViewModel - code

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

La meilleure réponse

0

EDIT: DERNIER MIS À JOUR

.xaml - code

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

ViewModel - code

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

Dans d'autres langues

Cette page est dans d'autres langues

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