Frage

Ich möchte eine CheckBox machen, die genau wie eine Schaltfläche aussieht. Meine anfänglichen schwachen Versuch nicht bei allen.

<CheckBox x:Name="test">
    Testing!
    <CheckBox.Template>
        <ControlTemplate>
            <Button>
                <ContentPresenter/>
            </Button>
        </ControlTemplate>
    </CheckBox.Template>
</CheckBox>

Die Content nicht funktioniert (die Schaltfläche ist leer), und wenn die Schaltfläche geklickt wird, die IsChecked Eigenschaft nicht wechselt nicht. Auch ich weiß nicht, wie die Taste gedrückt Look zu machen, wenn IsChecked wahr ist.

War es hilfreich?

Lösung

Würde ein ToggleButton Anzug Deine Bedürfnisse? CheckBox leitet sich von ihm, und so sind sie sehr ähnlich sind.

Andere Tipps

Ich habe gerade begonnen gleichen Kommentar zu schreiben:)

<ToggleButton Name="tb"  Height="45" Width="45">
        <ToggleButton.Style>
            <Style TargetType="{x:Type ToggleButton}">
                <Setter Property="Content" Value="False"/>
                <Style.Triggers>
                    <Trigger Property="IsChecked" Value="True">
                        <Setter Property="Content" Value="True"/>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </ToggleButton.Style>
    </ToggleButton>

Und jetzt, wie man wollte, Kästchen zum Ankreuzen Steuerung:

<CheckBox>
        <CheckBox.Template>
            <ControlTemplate TargetType="CheckBox">
                <ToggleButton x:Name="toggleButton">
                </ToggleButton>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsChecked" Value="True" SourceName="toggleButton">
                        <Setter Property="Content" Value="True"/>
                    </Trigger>
                    <Trigger Property="Content" Value="True">
                        <Setter Property="IsChecked" Value="True"/>
                    </Trigger>
                </ControlTemplate.Triggers>
             </ControlTemplate>
        </CheckBox.Template>
    </CheckBox>

Ich bin damit einverstanden, dass ToggleButton ist der Weg zu gehen, aber wenn Sie Ihre Inhalte in Ihrem Beispiel zeigen wollen, versuchen Sie Ihre Content Erklärung zu dieser Veränderung:

<ContentPresenter Content="{TemplateBinding Content}" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top