I think I would change its default behavior to how a default WPF checkbox works. A checkbox can be checked/unchecked unless otherwise specified in code. Not the other way around. This seems like the simplest approach. Assigning a command or having to write code that will check/uncheck a checkbox manually when a user clicks on it doesn't seem like it should be a required step in order to have a checkbox. Although there's no real reason to have a checkbox without any code behind interacting with it (besides demo purposes), what about a situation where there are N number of checkboxes and a user can check which ones he/she wants, then press some sort of submit button? It shouldn't be necessary to add "onClick" or "onCheck" events to your checkboxes just so someone can check/uncheck them. If this type of event is needed by the user, he/she can add it, but should not be required to do it by default. Perhaps all they want to do in this case is check if the "IsChecked" property is true or not.
Hope this helps! Thanks!