【问题标题】:Change DoubleAnimation From property从属性更改 DoubleAnimation
【发布时间】:2015-04-12 15:09:52
【问题描述】:

我已经在其中定义了带有 DoubleAnimation 的 Storyboard,我需要在开始动画之前更改代码隐藏中的 From 值。我该怎么做?

这不起作用 - 我得到一个异常对象引用未设置为对象的实例

<Storyboard x:Key="SB_showhide" Duration="0:0:1">
    <DoubleAnimation x:Name="move" Storyboard.TargetProperty="(Window.Left)" From="0" To="500" />
</Storyboard>

((DoubleAnimation)FindName("move")).From = 200;
BeginStoryboard((Storyboard)FindResource("SB_showhide"));

【问题讨论】:

  • move 什么都不是——我没有这样的变量。
  • 将整个故事板移动到代码隐藏是否可行?在这里查看特里的回答:stackoverflow.com/questions/15900627/…
  • 是的。我只是想知道,问题出在哪里。
  • 我在我的Wnd : Window 中有它,它是在我的MainEnvironment 类中创建的,它是在App.xaml.cs 中的OnStartup 方法中创建的。编写我的代码的文件名为 Wnd.xamlWnd.xaml.cs
  • MainEnvironment 是一个应该初始化和启动应用程序的类。它不是一扇窗,只是一堂课。在这里我有Wnd mainWnd = new Wnd();。我不认为这很重要。

标签: c# wpf animation


【解决方案1】:

这应该可行:

var storyboard = (Storyboard)Resources["SB_showhide"];
var move = (DoubleAnimation)storyboard.Children[0];
move.From = 200;

【讨论】:

    猜你喜欢
    • 2010-10-31
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多