ล้างรายการข้อความจาก ViewModel ใช้ RelayCommand

0

คำถาม

ฉันอยากจะล้างรายการข้อความจากของฉัน ViewModel ซึ่งเป็น binded ที่นั่น เข้ารหัสทางด้านล่าผมพยายามมันโดยใช้ RelayCommand แต่มันไม่ได้ผลหรอก

สิ่งที่ฉันต้องการทำให้สำเร็จโดย:เมื่อมีการคลิกปุ่มที่ชื่อ AddQuestionToQuizมีฟังก์ชันเป็นประหารโดยใช้คำสั่งอยู่บนปุ่ม ฟังก์ชัน OnCreateQuizClick(),ยังตำแหน่งของฉัน ViewModel คือ triggerd และฟังก์ชันนี้ต้องการที่จะเคลียร์รายการข้อความซึ่งฉันไม่ได้ขอเวลาสักครู่

ผมพยายามที่จะใช้เป็นปกติคำสั่งการแทนที่จะใช้ RelayCommand แต่ยังอยู่ที่นี่มันไม่ได้อยากทำงานแล้ว

แก้ไข:ใต้รหัสได้ผลดี-ได้ปรับปรุง รหัสคือเคยล้างรายการข้อความเมื่อมีการคลิกบนปุ่มจากของคุณ ViewModel,implementing 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ý
..................................................................................................................