C # WPF question case à cocher personnalisée

voix
2

Je viens de commencer à obtenir plus profondément dans C # et la conception WPF, alors ne vous l'esprit si je demande quelques notions de base.

Je suis en train de le port un de nos applications Internet à l'application c # et ayant quelques difficultés.

J'ai besoin 4 cases qui ressemblent à ceci. Si vous cliquez sur eux, ils devraient ressembler à la seconde.

http://frauneder.com/checkbox_example.jpg

J'ai pu le faire avec des images qui changent de clic, mais il me manque la propriété IsChecked.

La deuxième question: Je veux cocher / décocher les cases à cocher en utilisant les 1-4 touches de mon clavier. Comment puis-je faire cela?

Thanx beaucoup à l'avance!

Créé 16/08/2009 à 18:34
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
11

Je ne suis pas sûr que je comprends parfaitement vos questions, mais je vais essayer. Tout importe quelle profondeur vous voulez aller ici aussi. Il y a beaucoup de façons de la peau ce chat.

1 - Je pense que vous vous demandez comment utiliser la IsCheckedpropriété d'influencer l'apparence de la CheckBox? La façon de le faire est de nouveau modèle le CheckBoxet utilisez un déclencheur dans le modèle. Quelque chose comme ça:

<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>

Il y a plus à considérer ici, mais cela devrait vous aider à démarrer.

2 - Vous pouvez utiliser InputBindingspour exécuter une commande lorsque certains entrée est reçu par le contrôle. Ainsi, vous pouvez définir une commande qui vérifie ou le désélectionne approprié en CheckBoxfonction du paramètre passé à la commande. Ensuite , vous pouvez faire quelque chose comme ceci:

<CheckBox>
    <CheckBox.InputBindings>
        <KeyBinding Key="1" Command="{x:Static local:Commands.YourCommand}" CommandParameter="1"/>
    </CheckBox.InputBindings>
</CheckBox>

Encore une fois, il y a plusieurs façons de résoudre vos problèmes ici. Espérons que cela vous dirige dans la bonne direction.

Créé 16/08/2009 à 20:24
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more