在代码问题中应用动画 ScaleTransform

2023-11-27

我试图找出为什么下面的代码似乎不起作用。它不会给出错误 - 它根本无法扩展。如果我对第二个代码示例进行更改,它实际上似乎确实有效。 有人知道吗?

Thanks

public static void StartMouseEnterAnimation(Button button)
    {
        Storyboard storyboard = new Storyboard();

        ScaleTransform scale = new ScaleTransform(1.0, 1.0, 1, 1);
        button.RenderTransformOrigin = new Point(0.5, 0.5);
        button.RenderTransform = scale;

        DoubleAnimation growAnimation = new DoubleAnimation();
        growAnimation.Duration = TimeSpan.FromMilliseconds(300);
        growAnimation.From = 1;
        growAnimation.To = 1.8;
        storyboard.Children.Add(growAnimation);

        Storyboard.SetTargetProperty(growAnimation, new PropertyPath(ScaleTransform.ScaleXProperty));
        Storyboard.SetTarget(growAnimation, scale);

        storyboard.Begin();
    }

--- 以下确实有效,但我必须创建一个 TransformGroup 并通过更复杂的 PropertyChain 引用它......

public static void StartMouseEnterAnimation(Button button)
    {    
        Storyboard storyboard = new Storyboard();            
        ScaleTransform scale = new ScaleTransform(1.0, 1.0, 1, 1);
        button.RenderTransformOrigin = new Point(0.5, 0.5);
        TransformGroup myTransGroup = new TransformGroup();
        myTransGroup.Children.Add(scale);
        button.RenderTransform = myTransGroup;

        DoubleAnimation growAnimation = new DoubleAnimation();
        growAnimation.Duration = TimeSpan.FromMilliseconds(100);
        //growAnimation.From = 1;
        growAnimation.To = 1.1;
        storyboard.Children.Add(growAnimation);

        DependencyProperty[] propertyChain = new DependencyProperty[]
        {
            Button.RenderTransformProperty, 
            TransformGroup.ChildrenProperty,
            ScaleTransform.ScaleXProperty
        };
        string thePath = "(0).(1)[0].(2)";
        PropertyPath myPropertyPath = new PropertyPath(thePath, propertyChain);
        Storyboard.SetTargetProperty(growAnimation, myPropertyPath);
        Storyboard.SetTarget(growAnimation, button);

        storyboard.Begin();
   }

我可以通过调整你的第一个代码示例来让它工作,如下所示:

public static void StartMouseEnterAnimation(Button button) {
    Storyboard storyboard = new Storyboard();

    ScaleTransform scale = new ScaleTransform(1.0, 1.0);
    button.RenderTransformOrigin = new Point(0.5, 0.5);
    button.RenderTransform = scale;

    DoubleAnimation growAnimation = new DoubleAnimation();
    growAnimation.Duration = TimeSpan.FromMilliseconds(300);
    growAnimation.From = 1;
    growAnimation.To = 1.8;
    storyboard.Children.Add(growAnimation);

    Storyboard.SetTargetProperty(growAnimation, new PropertyPath("RenderTransform.ScaleX"));
    Storyboard.SetTarget(growAnimation, button);

    storyboard.Begin();
}

代替new PropertyPath(ScaleTransform.ScaleXProperty)), 我用了new PropertyPath("RenderTransform.ScaleX")),然后我将故事板的目标设置为按钮(而不是scaleTransform本身)。

希望有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在代码问题中应用动画 ScaleTransform 的相关文章

  • 进程何时获得 SIGABRT(信号 6)?

    C 中进程获得 SIGABRT 的场景有哪些 该信号是否始终来自进程内部 或者该信号可以从一个进程发送到另一个进程吗 有没有办法识别哪个进程正在发送该信号 abort 向调用进程发送SIGABRT信号 就是这样abort 基本上有效 abo
  • OpenCv读/写视频色差

    我试图简单地使用 openCV 打开视频 处理帧并将处理后的帧写入新的视频文件 我的问题是 即使我根本不处理帧 只是打开视频 使用 VideoCapture 读取帧并使用 VideoWriter 将它们写入新文件 输出文件看起来比输入更 绿
  • asp.net 文本框文本模式数字,仅允许数字

    我只是想知道 ASP NET 中是否有一种方法只允许文本框中的数字textmode number 当我使用这个时
  • 为什么大多数 C 开发人员使用 Define 而不是 const? [复制]

    这个问题在这里已经有答案了 在许多程序中 define与常量具有相同的用途 例如 define FIELD WIDTH 10 const int fieldWidth 10 我通常认为第一种形式优于另一种形式 它依赖于预处理器来处理基本上是
  • 32 位应用程序的特征最大矩阵大小

    所以 我正在寻找Eigen http eigen tuxfamily org index php title Main Page当我尝试声明大于 10000x10000 的矩阵时 包崩溃 我需要声明一个像这样的矩阵 可靠地大约有 13000
  • C# 中的接口继承

    我试图解决我在编写应用程序时遇到的相当大的 对我来说 问题 请看这个 为了简单起见 我将尝试缩短代码 我有一个名为的根接口IRepository
  • 显示异常时的自定义错误消息:从客户端检测到潜在危险的 Request.Form 值

    我在我的 Web 应用程序中使用 ASP NET 的登录控件 当发生此异常时 我想在标签上显示一种有趣的错误类型System Web HttpRequestValidationException A potentially dangerou
  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • ASP MVC:服务应该返回 IQueryable 的吗?

    你怎么认为 你的 DAO 应该返回一个 IQueryable 以便在你的控制器中使用它吗 不 您的控制器根本不应该处理任何复杂的逻辑 保持苗条身材 模型 而不是 DAO 应该将控制器返回给视图所需的所有内容 我认为在控制器类中看到查询 甚至
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • 将数据打印到文件

    我已经超载了 lt lt 运算符 使其写入文件并写入控制台 我已经为同一个函数创建了 8 个线程 并且我想输出 hello hi 如果我在无限循环中运行这个线程例程 文件中的o p是 hello hi hello hi hello hi e
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • C# 中条件编译符号的编译时检查(参见示例)?

    在 C C 中你可以这样做 define IN USE 1 define NOT IN USE 1 define USING system 1 system 1 IN USE 进而 define MY SYSTEM IN USE if US
  • 为什么我不应该对不是由 malloc() 分配的变量调用 free() ?

    我在某处读到 使用它是灾难性的free删除不是通过调用创建的对象malloc 这是真的 为什么 这是未定义的行为 永远不要尝试它 让我们看看当您尝试时会发生什么free 自动变量 堆管理器必须推断出如何获取内存块的所有权 为此 它要么必须使
  • System.Runtime.InteropServices.COMException(0x80040154):[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 C 项目中遇到异常 System Runtime InteropServices COMException 0x80040154 检
  • strcmp 给出分段错误[重复]

    这个问题在这里已经有答案了 这是我的代码给出分段错误 include
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在

随机推荐

  • CSS 圆圈没有宽度或高度? : 这可以用纯 CSS 实现吗?

    我可以将 div 变成一个圆圈 如下所示 circle background color rgba 0 0139 0139 0 5 height 200px width 200px moz border radius 50 webkit b
  • 表格上的 Flexbox 在 Firefox 中不起作用

    使用 flexbox 控制表格的布局在 webkit 浏览器中有效 但在 Firefox 中 td s 仅渲染与其自身内容一样宽的内容 示范 http codepen io afraser pen wMgbzr editors 010 bo
  • 原始布尔值到字符串连接/转换

    这是如何运作的 我似乎找不到答案 boolean bool true System out println the value of bool is true or System out println the value of bool
  • 解决使用ajax发送阿拉伯字符的问题

    我使用 AJAX 表单将数据发送到另一个名为 show php 的页面 以下是页面来源 表单 html div div
  • 如何更新流程中的类成员? [复制]

    这个问题在这里已经有答案了 我寻找过其他问题 并且这个未接受回答的问题是我能找到的唯一一个以某种方式涵盖这个问题并且没有真正帮助的人 另外 我需要它来处理进程 而不是线程 因此 我从头开始编写了一个示例程序来展示我的问题 您应该能够粘贴它并
  • Xamarin 应用程序在设备上启动时崩溃,但在模拟器中运行良好

    如果有任何建议 请在 OS 10 8 上使用 SDK6 1 和 Xcode 5 不胜感激 应用程序在启动后立即崩溃 并且根本无法进入调试器 TestFlight 发布版本也会发生这种情况 在另一台电脑上尝试过 结果相同 甚至尝试创建一个新的
  • 带有两种不同颜色文本的 UILabel

    我想在 a 中显示这样的字符串UILabel 有 5 个结果 其中数字 5 为红色 其余字符串为黑色 我怎样才能在代码中做到这一点 这样做的方法是使用NSAttributedString像这样 NSMutableAttributedStri
  • Python Beautiful Soup 如何将 JSON 解码为“dict”?

    我是 Python 中 BeautifulSoup 的新手 我正在尝试提取dict来自美丽汤 我使用 BeautifulSoup 提取 JSON 并得到beautifulsoup beautifulsoup多变的soup 我试图从中获取价值
  • 使用c#枚举远程系统上的Windows用户组成员

    在 c 中 我需要能够 连接到远程系统 根据需要指定用户名 密码 列出该系统上本地组的成员 将结果取回执行计算机 例如 我将使用适当的凭据连接到 SOMESYSTEM 并取回本地管理员列表 包括 SOMESYSTEM Administrat
  • 在Azure Active Directory中,有用户禁用选项吗?

    如何禁用 Windows Active Directory 中的用户 我们使用的是 Microsoft Azure 要禁用用户 您可以使用图形 API 为此 请使用 PATCH HTTP 方法对用户调用更新 PATCH https grap
  • 加载字体后调用 jQuery 函数。

    我的网站中有多种字体 它加载速度非常慢 我有一些 jquery 功能 我需要在加载字体时加载它们 我尝试过调用它 jQuery window load function my function 不工作怎么办 一个问题是Google 字体加载
  • 如何在 jquery ui 模式对话框小部件内部动态加载外部 url 的内容?

    我之前问过这个问题 但我认为我没有正确解释我想要完成的任务 我的网站上有多个链接 我想在 jquery ui 模式对话框小部件中打开链接中的内容 我试图使用 this 来引用用户动态选择的链接 我在这里做错了什么 我正在使用的代码如下 a
  • 一个 Windows 服务中的多个服务进程 (System.ServiceProcess.ServiceBase)

    我有两个服务进程 源自System ServiceProcess ServiceBase MyService1 and MyService2 我正在尝试在Main Windows 服务的Programm cs static void Mai
  • iOS 有谁知道如何向 NSURLRequest 添加代理吗?

    我正在设置一个网络视图 但我需要使用代理加载网络视图的内容 你们中有人知道我如何在 NSURLRequest 中实现代理吗 例如 NSString location http google com NSURL url NSURL URLWi
  • 如何获取文件名中的当前日期?

    我每天通过 SSRS 生成报告 我试图在作业运行和创建文件时获取当前日期作为文件名 像这样 ID report 03 31 2014 我尝试过 echo date time 和 ExecutionTime 但它不起作用 文件共享订阅的主要选
  • 请解释一下 C++ ABI

    对于不修复 C 的某些问题的常见解释是 它会破坏 ABI 并需要重新编译 但另一方面 我遇到这样的语句 老实说 这对于几乎所有 C 非 POD 类型都是如此 而不仅仅是例外 可以跨库边界使用 C 对象 但通常前提是所有代码都使用相同的工具和
  • VBA 参考工作表与图表表

    我正在尝试编写一个小函数 它接受 Excel 中的文件路径 保存工作簿的位置 目标路径 保存 pdf 的位置 和一串选项卡名称 以竖线 分隔 该函数的用户不必输入一串选项卡名称 它是可选的 如果不需要 我想选择所有可见的选项卡并打印它们 如
  • F# 位标志枚举

    我想在 F 中创建一个位标志枚举 使用位移运算符以提高可读性 例如
  • HTML 输入值属性 - 相同的输入,(显然)不同的结果

    通过输入框进行编辑后 value 属性如何用于 html 输入标记 example
  • 在代码问题中应用动画 ScaleTransform

    我试图找出为什么下面的代码似乎不起作用 它不会给出错误 它根本无法扩展 如果我对第二个代码示例进行更改 它实际上似乎确实有效 有人知道吗 Thanks public static void StartMouseEnterAnimation