Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 20694|Απάντηση: 0

[WPF] WPF RelayCommand

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 18/12/2017 9:16:49 μ.μ. | | |

Στην ανάπτυξη Wpf που χρησιμοποιείται συνήθως, εφαρμόζουμε τη διεπαφή INotifyPropertyChanged στο ViewModel για να επιτύχουμε τον σκοπό της ειδοποίησης αλλαγών διεπαφής χρήστη ενεργοποιώντας το συμβάν PropertyChanged.

Στο πλαίσιο MVVMLight, το ViewModel που ορίζουμε εδώ κληρονομείται από το ViewModelBase, το οποίο είναι ενθυλακωμένο στο πλαίσιο MvvmLight και έχει υλοποιήσει τη διεπαφή INotifyPropertyChanged.

Επομένως, κατά τον ορισμό της ιδιότητας ViewModel, χρειάζεται μόνο να καλέσουμε το RaisePropertyChanged(PropertyName) για να ειδοποιήσουμε την αλλαγή ιδιότητας.



Τα συμβάντα είναι ο πιο σημαντικός τρόπος αλληλεπίδρασης της διεπαφής χρήστη με τον κώδικα παρασκηνίου σε εφαρμογές WPF/SL και σε αντίθεση με τις παραδοσιακές μεθόδους, ο χειρισμός των συμβάντων γίνεται κυρίως με σύνδεση σε εντολές στο mvvm, επομένως για να κατανοήσετε πώς αντιμετωπίζονται τα συμβάντα στο mvvm, πρέπει πρώτα να είστε εξοικειωμένοι με τον τρόπο λειτουργίας των εντολών.

1. Εντολή RelayCommand

Οι εντολές WPF/SL δημιουργούνται με την υλοποίηση της διεπαφής ICommand. Το ICommand εκθέτει δύο μεθόδους (Execute και CanExecute) και ένα συμβάν (CanExecuteChanged). Εκτέλεση εκτελεί την ενέργεια που σχετίζεται με την εντολή. Το CanExecute καθορίζει εάν μια εντολή μπορεί να εκτελεστεί στον τρέχοντα προορισμό εντολής. Η κλάση που υλοποιεί τη διεπαφή ICommand στο MvvmLight είναι η RelayCommand, η οποία αρχικοποιεί τις μεθόδους Execute και CanExecute μέσω του κατασκευαστή, έτσι ώστε ο κατασκευαστής να περνά τις παραμέτρους του τύπου αντιπροσώπου και τις μεθόδους Execute και CanExecute και ο σχετικός κώδικας του RelayCommand είναι ο εξής:


2. Δέσμευση χαρακτηριστικών Comand

Απλό παράδειγμα: ένα πλαίσιο κειμένου και ένα κουμπί, το πλαίσιο κειμένου είναι διαθέσιμο μόνο όταν το περιεχόμενο δεν είναι κενό και γίνεται κλικ στο διαθέσιμο κουμπί για να εμφανιστεί το περιεχόμενο του πλαισίου κειμένου.




ViewMode:







Προηγούμενος:android-TableLayout καθώς και τη χρήση του TableRow
Επόμενος:Το κύριο παράθυρο ανοίγει όταν κλείσει το παράθυρο σύνδεσης WPF
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com