In this article I am going to add commanding to the earlier post http://www.c-sharpcorner.com/UploadFile/Mahadesh/8807/. Lets take a copy of the code created in the previous article . We would be doing some modifications to add the Commanding. Lets start with the PeopleViewModel.cs We need to add a new class say UpdatePersonCommand. I would place this class in the PeopleViewModel.cs. public class UpdatePersonCommand : ICommand { public bool CanExecute(object parameter) { if (parameter != null) { CanExecuteChanged.Invoke(parameter, new EventArgs()); } return true; } public event EventHandler CanExecuteChanged; public void Execute(object parameter) { // We have some work to do here } }
Let me also add my command: public ICommand UpdateVM { get { return new UpdatePersonCommand(); } } Let me now modify the MainPage.xaml.cs.
I will change the Button_Click handler as shown below: private void Button_Click(object sender, RoutedEventArgs e) { this.ViewModel.UpdateVM.Execute(this.Resources["ViewModel"] as PeopleViewModel); } What I do is just call the Execute on the Update Command which would modify my ViewModel. As can be seen I pass the PageViewModel Instance in the execute method. Nothing changes in the xaml code. Just call the UpdatePerson in the Execute of the UpdatePersonCommand class. public void Execute(object parameter) { (parameter as PeopleViewModel).UpdatePerson(); } Run the project. It works the same way. Thanks. Happy coding.
You need to be a premium member to use this feature. To access it, you'll have to upgrade your membership.
Become a sharper developer and jumpstart your career.
$0
$
. 00
monthly
For Basic members:
$20
For Premium members:
$45
For Elite members: