2 Stimmen

Warum startet diese ColorAnimation nicht?

Ich versuche, eine ColorAnimation zu erhalten, die je nach Zustand des Steuerelements auftreten. Ich habe ein ControlTemplate für den ToggleButton erstellt, das in etwa wie folgt aussieht:

<ControlTemplate TargetType="ToggleButton">
    <Border>
    <Grid>
        <VisualStateManager.VisualStateGroup>
             <VisualStateGroup x:Name="CommonStates">
                  <VisualState x:Name="MouseOver">
                      <Storyboard>
                           <ColorAnimation Storyboard.TargetName="ColorChangeRect" 
                               Storyboard.TargetProperty="(Rectangle.Fill).(SolidColorBrush.Color)"
                               To="Blue" Duration="0:0:3" />
                      </Storyboard>
                  </VisualState>
             </VisualStateGroup>
        </VisualStateManager.VisualStateGroup>
        <Rectangle x:Name=ColorChangeRect" Fill="Red" />
        <ContentPresenter Content="{TemplateBinding Content}" />
    </Grid>
    </Border>
</ControlTemplate>

Leider tut sich nichts. Ich bin mir nicht sicher, was ich hier übersehe.

1voto

Julien Lebosquain Punkte 39679

Legen Sie die VisualStateManager.VisualStateGroups angehängte Eigenschaft am Root-Element Ihrer Vorlage, die Border in Ihrem Code. Das ist der Punkt, an dem die VisualStateManager seine Staaten erhält.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X