Ich bin mir nicht sicher, ob ich voll und ganz Ihre Fragen verstehen, aber lassen Sie mich versuchen. Das alles zählt, wie tief man hier auch gehen will. Es gibt viele Möglichkeiten, diese Katze Haut.
1 - Ich glaube , Sie zu fragen , wie die verwenden IsCheckedEigenschaft das Aussehen der beeinflussen CheckBox? Die Art und Weise , dies zu tun ist neu Vorlage des CheckBoxund einen Trigger in der Vorlage verwenden. Etwas wie das:
<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>
Es gibt mehr zu hier betrachten, aber das sollten Sie loslegen.
2 - Sie können mit InputBindingseinem Befehl auszuführen , wenn eine Eingabe von der Steuerung empfangen wird. So können Sie einen Befehl definieren , die überprüft oder deaktiviert die entsprechenden CheckBoxbasierend auf dem Parameter an den Befehl übergeben. Dann können Sie etwas tun:
<CheckBox>
<CheckBox.InputBindings>
<KeyBinding Key="1" Command="{x:Static local:Commands.YourCommand}" CommandParameter="1"/>
</CheckBox.InputBindings>
</CheckBox>
Auch hier gibt es viele Möglichkeiten, um Ihre Probleme hier zu lösen. Hoffentlich lenkt Sie in der richtigen Richtung.