Frage

Ich bin sehr neu in WPF, und ich bin mit einem Problem konfrontiert, wo ich Hilfe benötigen:

Meine Umgebung ist .net 4, VS2010, gewinnen 7

Ich möchte eine umschaltbare Schaltfläche Stil definieren, dass ich von einem User Control verwenden. Als ich das Steuerelement ToggleButton in dem Usercontrol Ich erkläre, will den zwei möglichen Inhalt geben, gemäß dem Schaltflächenzustand-.

Meine Frage:. Ich weiß nicht, wie meine Schaltfläche mit den 2 Inhalt erklären (ein, wenn IsChecked = true, eins, wenn IsChecked = false), ich einige Code enthalten sind, die ich geschrieben habe, die nicht kompilieren lässt

Vielen Dank im Voraus

...

War es hilfreich?

Lösung

Sie sollten in der Lage sein, etwas zu verwenden wie:

      <ToggleButton>
        <ToggleButton.Style>
            <Style TargetType="{x:Type ToggleButton}">
                <Setter Property="Content">
                    <Setter.Value>
                        <Grid>
                            <TextBlock>Click Me</TextBlock>
                        </Grid>
                    </Setter.Value>
                </Setter>
                <Style.Triggers>
                    <Trigger Property="IsChecked" Value="True">
                        <Setter Property="Content">
                            <Setter.Value>
                                <Grid>
                                    <TextBlock>Click Me Again</TextBlock>
                                </Grid>
                            </Setter.Value>
                        </Setter>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </ToggleButton.Style>
    </ToggleButton>

Andere Tipps

Je nachdem, was Ihre 2 Inhalte sind, können Sie so etwas tun:

<ToggleButton IsChecked="True">
    <ToggleButton.Style>
        <Style TargetType="{x:Type ToggleButton}">
            <Style.Triggers>
                <Trigger Property="IsChecked" Value="True">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate>
                                <Button></Button>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Trigger>
                <Trigger Property="IsChecked" Value="False">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate>
                                <Border Background="Red" />
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </ToggleButton.Style>
</ToggleButton>

In diesem Beispiel wird die ToggleButton hat einen Inhalt, wenn es aktiviert ist (eine Taste) und andere Inhalte, wenn es nicht (eine rote Hintergrund Grenze) geprüft wird. Sie werden die Aktionen behandeln müssen separat den IsChecked Zustand zu wechseln.

Auch eine Sache, wenn die ToggleButton ist die einzige Kontrolle in Ihrem Usercontrol besteht keine Notwendigkeit, ein Benutzersteuerelement zu verwenden ist, nur restyle der ToggleButton. Benutzersteuerelemente sind mehr angeeignet, wenn Sie Gruppensteuerungen zusammen wollen eine bestimmte Funktionalität haben (wie ein Suchfeld und eine Go-Taste wird zusammen als eine Suchsteuerung verwendet wird).

Sie können die ToggleButton Stil von Control Einstellung

WPF Control Trigger-Spitze . dies wird Ihnen helfen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top