wpf-commands

Changing the image when the button is clicked. There are many buttons

Please tell me how you can implement a large number of buttons with the same two changing images so that you do not write a p ... nd. After all, it will be inconvenient to write 100 properties, 100 commands, and 100 bindings in the markup for 100 buttons.

OpenFileDialog and MVVM

Tell me what is the right way to go. On the WPF form, there is a "Browse" button that should call OpenFileDialog and after s ... in the VM. And here's my question. Calling OpenFileDialog should I do in the VM as ICommand, or from my form on which button?