स्पष्ट प्रविष्टि पाठ से ViewModel का उपयोग कर RelayCommand

0

सवाल

मैं स्पष्ट करने के लिए पाठ प्रविष्टि से ViewModel जो binded है वहाँ. नीचे दिए गए कोड में, मैं यह कोशिश की है का उपयोग करके एक RelayCommand, लेकिन यह काम नहीं करता है ।

मैं क्या चाहते हैं को पूरा करने के लिए: जब क्लिक बटन के नाम AddQuestionToQuiz, एक समारोह में मार डाला है का उपयोग करके कमांड बटन पर. समारोह OnCreateQuizClick()में स्थित है , मेरे ViewModel, है triggerd और इस समारोह की जरूरत को स्पष्ट करने के लिए मेरी प्रविष्टि पाठ, जो मैं नहीं मिल पल के लिए.

मैं यह भी कोशिश की, का उपयोग करने के लिए एक नियमित रूप से आदेश का उपयोग करने के बजाय एक RelayCommand है, लेकिन यहाँ भी यह काम नहीं करना चाहते है.

संपादित करें: के नीचे कोड ठीक काम करता है - अद्यतन किया गया कोड प्रयोग किया जाता है स्पष्ट करने के लिए पाठ प्रविष्टि पर क्लिक करने पर एक बटन से अपने ViewModel, को लागू करने के INotifyPropertyChanged इंटरफ़ेस

.xaml कोड

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

ViewModel - कोड

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

सबसे अच्छा जवाब

0

संपादित करें: VIEWMODEL अद्यतन

.xaml कोड

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

ViewModel - कोड

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

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

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