Я пытаюсь воссоздать стиль обратной связи кнопки Android Lollipop.В WPF измените размер круга внутри прямоугольника
В WPF у нас есть прямоугольник с цветом фона синего цвета. Я хочу, чтобы при щелчке или касании прямоугольника кружок анимировал из центра прямоугольника, чтобы указать, что с пользователем произошло событие касания.
У нас есть раскадровка, чтобы сделать простое изменение цвета на «ударе», но как бы я сделал желаемый эффект с кругом, который исходит из центра прямоугольника.
Наша нынешняя простая раскадровка и XAML находятся ниже.
<UserControl.Resources>
<Storyboard x:Key="hit">
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" Storyboard.TargetName="bg">
<EasingColorKeyFrame KeyTime="0:0:0.3" Value="#FFB92929"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="off">
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" Storyboard.TargetName="bg">
<EasingColorKeyFrame KeyTime="0:0:0.5" Value="#FF2980B9"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</UserControl.Resources>
<UserControl.Triggers>
<EventTrigger RoutedEvent="UIElement.MouseLeftButtonDown">
<BeginStoryboard Storyboard="{StaticResource hit}"/>
</EventTrigger>
<EventTrigger RoutedEvent="UIElement.MouseLeftButtonUp">
<BeginStoryboard x:Name="off_BeginStoryboard" Storyboard="{StaticResource off}"/>
</EventTrigger>
<EventTrigger RoutedEvent="Mouse.MouseLeave">
<BeginStoryboard x:Name="off_BeginStoryboard1" Storyboard="{StaticResource off}"/>
</EventTrigger>
</UserControl.Triggers>
<Grid x:Name="LayoutRoot" Style="{StaticResource GlobalStyles}">
<Rectangle x:Name="bg" Style="{StaticResource btnSquare}"/>
<TextBlock x:Name="btnText" HorizontalAlignment="Center" TextWrapping="Wrap" Text="-" VerticalAlignment="Center" Foreground="White" FontSize="64" FontWeight="Bold"/>
<Rectangle x:Name="hit" Fill="#FF2980B9" Stroke="Black" Opacity="0" d:IsHidden="True"/>
<!--Probably need an ellipses to position over Rectangle to create animated growing circle effect.-->
</Grid>
Благодарим за полный и сжатый пример кода. Я сделаю это! – ClosDesign