C # wpf Frage benutzerdefinierte Checkbox

stimmen
2

Ich habe gerade angefangen immer tiefer in C # und WPF-Design, so dont Geist, wenn ich für einige Grundlagen zu fragen.

Ich versuche, in den Hafen eines unserer Internet-Anwendungen zu c # Anwendung und einige Schwierigkeiten haben.

Ich brauche vier Kontrollkästchen, die wie folgt aussehen. Wenn Sie darauf klicken, sollten sie wie die zweite aussehen.

http://frauneder.com/checkbox_example.jpg

Ich konnte es mit Bildern tun, die auf Klick zu ändern, aber es fehle ich die IsChecked Eigenschaft.

Die zweite Frage: Ich möchte die Kontrollkästchen aktivieren / deaktivieren Sie die 1-4 Tasten auf der Tastatur. Wie mache ich das?

Thanx sehr viel im Voraus!

Veröffentlicht am 16/08/2009 um 18:34
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
11

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.

Beantwortet am 16/08/2009 um 20:24
quelle vom benutzer

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