Nejsem si jistý, že jsem plně pochopit vaše otázky, ale zkusím to. To vše záleží, jak hluboko chcete jít i tady. Existuje mnoho způsobů, jak skin kočku.
1 - Myslím, že se ptáte, jak používat IsCheckedvlastnost ovlivňuje vzhled CheckBox? Způsob, jak to udělat, je znovu šablona CheckBoxa použít trigger v šabloně. Něco takového:
<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>
K dispozici je více zde uvažovat, ale že by měl dostat jste začali.
2 - můžete použít InputBindingsk provedení příkazu, pokud je nějaký vstup obdrží kontrolou. Takže si můžete definovat příkaz, který kontroluje nebo unchecks na vhodné CheckBoxna základě parametru přešel na příkazu. Pak si můžete udělat něco takového:
<CheckBox>
<CheckBox.InputBindings>
<KeyBinding Key="1" Command="{x:Static local:Commands.YourCommand}" CommandParameter="1"/>
</CheckBox.InputBindings>
</CheckBox>
Opět platí, že existuje mnoho způsobů, jak vyřešit své problémy tady. Doufejme, že to vám řídí správným směrem.