我的用户控件有样式:
<Style x:Key="SlideControlGrid" TargetType="{x:Type UserControl}">
<Style.Triggers>
<EventTrigger RoutedEvent="UserControl.MouseEnter">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="00:00:00.2"
From="#FFFFFFFF"
Storyboard.TargetProperty="Background.Color"
To="#FFFCEE" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="UserControl.MouseLeave">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="00:00:00.2"
Storyboard.TargetProperty="Background.Color"
To="#FFFFFFFF" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="UserControl.PreviewDragOver">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="00:00:00.05"
Storyboard.TargetProperty="Background.Color"
To="#FFD86C" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="UserControl.PreviewDragLeave">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="00:00:00.2"
Storyboard.TargetProperty="Background.Color"
To="#FFFFFFFF" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
在我的用户控件中,我有矩形,并且在previewdragover期间,我想更改矩形的填充。这是我的矩形样式:
<Style x:Key="DragAnimation" TargetType="{x:Type Rectangle}">
<Setter Property="Visibility" Value="Hidden" />
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}, Path=IsMouseOver}" Value="true">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.1"
From="0.2"
Storyboard.TargetProperty="Opacity"
To="1.0" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
当我使用ismouseover时,everythink 做得很好。当我使用usercontrol.previewdragover或previewdragover时,我的矩形不起作用。我做什么?