这是我的标记
<Grid Height="50" x:Name="TextGrid">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="PointerOver">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="TestGrid" Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0" Value="Green"/>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="TestGrid" Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemPointerOverBackgroundThemeBrush}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid.Transitions>
<TransitionCollection>
<EntranceThemeTransition></EntranceThemeTransition>
</TransitionCollection>
</Grid.Transitions>
<Grid x:Name="TestGrid" Background="SeaShell">
<TextBlock Text="test" x:Name="testTextBlock" VerticalAlignment="Center" Foreground="OrangeRed" FontFamily="Calibri" FontSize="20" FontWeight="Light"></TextBlock>
</Grid>
我无法弄清楚为什么指针效果不起作用。
答案 0 :(得分:3)
我们现在正在看什么?我看到了一些视觉状态,但是你没有说出它们的用途。当你将鼠标光标悬停在它上面时,我相信一个按钮会进入PointerOver
状态,所以如果它是一个按钮就可以工作模板,但如果这只是一个UserControl
- 你实际上需要处理一个指针事件并调用VisualStateManager来转换到PointerOver
状态为你的控件,然后当指针返回到另一个状态退出控制。