【发布时间】:2010-11-11 18:28:25
【问题描述】:
我在 silverlight 应用程序中定义了两个动画:
<Storyboard x:Name="ShowControls">
<DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="SlideOutMenu" />
</Storyboard>
<Storyboard x:Name="Hide-Controls">
<DoubleAnimation Duration="0:0:0.2" To="180" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="SlideOutMenu" />
</Storyboard>
当这些 Storyboard 在外部样式 xaml 文件中定义时,它们不起作用。我无法弄清楚为什么我不能以编程方式访问这些资源。
此代码适用于其他资源类型,如画笔和模板,所以...我怀疑此资源字典问题特定于 Storyboard 类型的资源。
这是引发错误的代码: (SlideOutMenu 是一个边框控件)。
public void AddEventHandlers()
{
SlideOutMenu.MouseEnter += new MouseEventHandler(SlideOutMenu_MouseEnter);
SlideOutMenu.MouseLeave += new MouseEventHandler(SlideOutMenu_MouseLeave);
}
public void SlideOutMenu_MouseEnter(object sender, MouseEventArgs e)
{
Storyboard showMenu = Application.Current.Resources["ShowControls"] as Storyboard;
showMenu.Begin();
}
有什么想法吗?
【问题讨论】:
标签: c# silverlight