What would I do, create a custom ImageCheckBox control that inherits from the default CheckBox class, add three dependency properties of the ImageSource type, called CheckedImage, IndeterminateImage and UncheckedImage. Just switch their Visibility or Opacity based on the CheckStates control, i.e. Checked, Unchecked, and Indeterminate.
source share