When should I use the Command
and when to use the Click
event?
F.e. if I have a Button
in my UWP app what should I use?
When should I use the Command and when to use the Click event?
Yours is a broad question and I would simply answer with: "It depends". Because:
Command
implements the ICommand
interface and this means more code to add to your application but usually this won't change. Instead, the event handler doesn't require any interface implementation.CanExecute
logic, to say when the command can execute. This is not required in a simple event handler (like MyButton_Click). This means that, using a Command
, you will have more control over the elements of your UI (the button won't execute anything if CanExecute
is false
).Command
, you will bind it to your DataContext (the ViewModel, if you implement the MVVM pattern). Instead, when you add a simple event handler (like MyButton_Click), the code will be placed in your code-behind that is the logic behind your main window. In my opinion, this is best, as you'll have everything you need to modify in just one place (the ViewModel) instead of logic scattered everywhere in your project.At the end of the day, it's up to you to use whatever suits you best, considering also the requirements you have been given (like: "Don't use event handlers" or "The Command is too advanced, let's just use something simple", etc.) and/or other constraints in your project.