Я не уверен, я полностью понимаю ваши вопросы, но позвольте мне попробовать. Все это важно, насколько глубоко вы хотите идти здесь, тоже. Есть много способов кожи этого кота.
1 - Я думаю , что вы спрашиваете , как использовать IsCheckedсвойство влиять на внешний вид CheckBox? Способ сделать это повторно стандартный шаблон CheckBoxи использовать триггер в шаблоне. Что-то вроде этого:
<CheckBox>
<CheckBox.Template>
<ControlTemplate TargetType="CheckBox">
<StackPanel Orientation="Horizontal">
<Image x:Name="_image" Source="Unchecked.jpg"/>
<ContentControl Content="{Binding Content}"/>
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="_image" Property="Source" Value="Checked.jpg"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</CheckBox.Template>
</CheckBox>
Существует больше, чтобы рассмотреть здесь, но это должно вам начать.
2 - Вы можете использовать , InputBindingsчтобы выполнить команду , когда некоторые ввода получает контроль. Таким образом , вы можете определить команду , которая проверяет или неустановленную соответствующий CheckBoxна основе параметра , переданный в команду. Затем вы можете сделать что - то вроде этого:
<CheckBox>
<CheckBox.InputBindings>
<KeyBinding Key="1" Command="{x:Static local:Commands.YourCommand}" CommandParameter="1"/>
</CheckBox.InputBindings>
</CheckBox>
Опять же, есть много способов решить ваши проблемы здесь. Надеемся, что это бычков вы в правильном направлении.