ฉันอยากจะล้างรายการข้อความจากของฉัน 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 = "";
}
}