/ / Ändert den Text, wenn VisualState auf "PointerOver" gesetzt ist, - wpf, wpf-controls

Ändern Sie den Text, wenn VisualState auf "PointerOver", - wpf, wpf-controls eingestellt ist

Ich arbeite an ControlTemplate Für ein Button.
Dies ist mein aktueller Code, der die Farbe des Buttons ändert.

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App1.Styles">

<ControlTemplate x:Key="ButtonBrushAnimation" TargetType="Button">
<Grid >
<TextBlock x:Name="textBlock" Width="80" Height="30" Text="AAA" />

<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">

<VisualStateGroup.Transitions>

<!--Take one half second to transition to the PointerOver state.-->
<VisualTransition To="PointerOver" GeneratedDuration="0:0:0.5"/>

</VisualStateGroup.Transitions>

<VisualState x:Name="PointerOver">
<Storyboard>
<ColorAnimation Storyboard.TargetName="ButtonBrush"
Storyboard.TargetProperty="Color" To="Red" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>

<Grid.Background>
<SolidColorBrush x:Name="ButtonBrush" Color="Green"/>
</Grid.Background>
</Grid>
</ControlTemplate>
</ResourceDictionary>

Ich möchte die Texteigenschaft von ändern textBlock Kontrolle ein PointerOver Veranstaltung.
Wie kann ich es tun?
Vielen Dank!

Antworten:

1 für die Antwort № 1

Hinzufügen StringAnimationUsingKeyFrames zu deinem Storyboard so was:

<Storyboard>
<ColorAnimation Storyboard.TargetName="ButtonBrush" Storyboard.TargetProperty="Color" To="Red" />
<StringAnimationUsingKeyFrames Storyboard.TargetName="textBlock" Storyboard.TargetProperty="Text">
<DiscreteStringKeyFrame Value="BBB"  KeyTime="0:0:0" />
</StringAnimationUsingKeyFrames>
</Storyboard>

Sie können a einstellen KeyTime Eigenschaftswert abhängig davon, wann genau Sie den Text ändern müssen.