c# - 如何在 silverlight C# 中制作 SuckEffect

标签 c# silverlight animation expression-blend expression-blend-4

当我点击启动 SuckEffect 并隐藏到屏幕的左上角时,如何为 ListboxItem 之类的对象设置动画,就像删除 iphone 中的项目一样。

我正在尝试制作简单的动画来制作飞行动画。但它不是那样工作的。

最佳答案

倾斜、缩放、平移和投影的组合给出了类似的东西(虽然没有漂亮的曲线)。它移动速度很快,因此有助于:

enter image description here

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
    x:Class="ItSucks.MainPage"
    Width="640" Height="480">
    <UserControl.Resources>
        <Storyboard x:Name="SuckLeft">
            <DoubleAnimation Duration="0:0:0.5" To="0.05" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="rectangle" d:IsOptimized="True"/>
            <DoubleAnimation Duration="0:0:0.5" To="0.05" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Storyboard.TargetName="rectangle" d:IsOptimized="True"/>
            <DoubleAnimation Duration="0:0:0.5" To="248" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="rectangle" d:IsOptimized="True"/>
            <DoubleAnimation Duration="0:0:0.5" To="-318" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="rectangle" d:IsOptimized="True"/>
            <DoubleAnimation Duration="0:0:0.5" To="45" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="rectangle" d:IsOptimized="True"/>
            <DoubleAnimation Duration="0:0:0.5" To="54" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationX)" Storyboard.TargetName="rectangle" d:IsOptimized="True"/>
            <DoubleAnimation Duration="0:0:0.5" To="-35" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.SkewX)" Storyboard.TargetName="rectangle" d:IsOptimized="True"/>
        </Storyboard>
    </UserControl.Resources>

    <Grid x:Name="LayoutRoot" Background="White">
        <Rectangle x:Name="rectangle" Fill="#FF1717C8" Margin="212,120,216,124" Stroke="Black" StrokeThickness="8" RenderTransformOrigin="0.5,0.5">
            <Rectangle.Projection>
                <PlaneProjection/>
            </Rectangle.Projection>
            <Rectangle.RenderTransform>
                <CompositeTransform/>
            </Rectangle.RenderTransform>
        </Rectangle>
    </Grid>
</UserControl>

这只是来自 Expression Blend 创作(做这类事情的最佳场所,因为它是如此互动)。

关于c# - 如何在 silverlight C# 中制作 SuckEffect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11755964/

相关文章:

iPhone - 是否可以创建从中心向外显示图像的动画?

iPhone - 让键盘从右侧滑入 View ,就像在通讯录中编辑注释时一样

jquery - 动画 float : visualizing position change

c# - 尝试与光线转换命中的对象上的组件进行交互,收到 NullReferenceException

c# - 通过 C# 确定本地组的成员

c# - 将一个数组的每个元素乘以第二个数组的所有元素

.net - 在 XAML 中有没有办法将 UpdateSourceTrigger 默认为 PropertyChanged?

c# - WPF 按钮后台操作被代码覆盖

c# - 在调试和发布设置 visual studio 中运行不同的代码

Silverlight - 将 XAML 分组为 "controls"?