Δεν είμαι σίγουρος ότι κατανοώ πλήρως τις ερωτήσεις σας, αλλά επιτρέψτε μου να προσπαθήσω. Όλα τα θέματα πόσο βαθιά θέλετε να πάτε εδώ, πάρα πολύ. Υπάρχουν πολλοί τρόποι για να δέρμα αυτή η γάτα.
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για να εκτελέσει μια εντολή όταν κάποια είσοδος λαμβάνεται από τον έλεγχο. Έτσι, μπορείτε να ορίσετε μια εντολή που ελέγχει ή unchecks την κατάλληλη CheckBoxβάση για την παράμετρο πέρασε στην εντολή. Στη συνέχεια, μπορείτε να κάνετε κάτι σαν αυτό:
<CheckBox>
<CheckBox.InputBindings>
<KeyBinding Key="1" Command="{x:Static local:Commands.YourCommand}" CommandParameter="1"/>
</CheckBox.InputBindings>
</CheckBox>
Και πάλι, υπάρχουν πολλοί τρόποι για να λύσει τα προβλήματά σας εδώ. Ας ελπίσουμε ότι αυτό σας καθοδηγεί προς τη σωστή κατεύθυνση.