Tag: 故事板

故事板动画滞后

我创建了一个降雪动画但它有点滞后,如果我在空白的新应用程序中创建这个动画它工作正常但如果尝试构建更多的东西并使用它完全构建应用程序它开始滞后。 XAML C# using System.Windows.Shapes; using System.Windows.Media.Animation; using System.Windows.Media; public partial class MainPage : PhoneApplicationPage { private static Random random; public MainPage() { InitializeComponent(); random = new Random(); this.StartFallingSnowAnimation(); } private Ellipse GenerateEllipse() { Ellipse element = new Ellipse(); element.Fill = new SolidColorBrush(Colors.Cyan); element.Height = 8.0; element.Width = 8.0; this.ContentPanel.Children.Add(element); return element; } private Storyboard […]

WPF故事板动画不起作用

我有我的自定义3D模型类(Model),它包含Visual3D元素和Storyboard (sb)来保存与该模型相关的动画。 我正在尝试使用Storyboard旋转Visual3D元素,但遗憾的是它无法正常工作。 这是代码片段 public void AnimationRotate(Model model, double duration, double startTime, RepeatBehavior behaviour) { //Rotate transform 3D RotateTransform3D rotateTransform = new RotateTransform3D(); //assign transform to the model model.Visual3D.Transform = Transform3DHelper.CombineTransform(model.Visual3D.Transform, rotateTransform); //define the rotation axis AxisAngleRotation3D rotateAxis = new AxisAngleRotation3D(new Vector3D(0, 0, 1), 180); //create 3D rotation animation Rotation3DAnimation rotateAnimation = new Rotation3DAnimation(rotateAxis, TimeSpan.FromSeconds(0.5)); […]

wpf故事板死亡

C#: public partial class MainWindow : Window { Storyboard a = new Storyboard(); int i; public MainWindow() { InitializeComponent(); a.Completed += new EventHandler(a_Completed); a.Duration = TimeSpan.FromMilliseconds(10); a.Begin(); } void a_Completed(object sender, EventArgs e) { textblock.Text = (++i).ToString(); a.Begin(); } } XAML: 这段代码有什么问题? 故事板在20-50轮之后停止。 每次都有不同的号码

组框的动画高度从0到auto

我的combobox在我的应用程序中就像扩展器一样。 当我需要折叠combobox时,我将其高度设置为0.当我需要展开它时,我将它的高度设置为auto(double.Nan)是否可以使用故事板进行此操作。 我怎么能提前知道自动高度。 表达式混合不能使我动画为自动。

WPF淡出控件

在我的WPF应用程序中,我有一个反馈控件,我希望在用户操作完成后显示(保存数据,删除…)。 可见性设置为隐藏开始,样式设置为定义为资源的animateFadeOut样式(参见下文)。 然后我想在我的C#代码中设置文本并控制Visibility可见,并让反馈控件显示消息并在5秒后淡出并保持隐藏状态(Visibility.Hidden)。 以下XAML在我第一次调用control.Visiblity = Visibility.Visible时工作,但控件第二次不再出现。 我想这是因为动画仍然在运行,它可以控制反馈控制。 然后我尝试将FillBehavior设置为“停止”,但这只是使控件再次可见,我想隐藏它。 然后,使用FillBehavior =“Stop”,我试图设置一个触发器“当Opacity = 0时,将Visibility设置为Hidden”。 触发器似乎没有触发,动画完成后我再次看到了可视控件。 请帮助指出我在这里做错了什么。 或者,如果您可以建议一种更好的方法来显示一个在5秒后消失并且可以反复调用的控件,我将不胜感激。 谢谢!

如何在WPF中为图像内容添加动画效果?

我有一个非常基本的用户控件,带有一个带图像的按钮。 我想通过将按钮的图像更改为不同的图像来为该图像设置动画。 不幸的是,当我运行它并将鼠标hover在按钮上时,我得到“Freezable无法冻结”exception(鼠标事件处理程序更改状态)。 它似乎试图冻结当前图像,但不能出于某种原因。 我试过这样做而不使用静态资源(只是将图像内联),但同样的错误。 奇怪的是,我可以找到很少关于在Content属性上做动画的文档或博客。 我不得不想象这将是一个常见的场景。 关于我做错了什么的任何想法? 非常感谢您对此的帮助!

WPF图像移动和旋转

首先,我在这里放置我的情况sreenshot: 因此,我需要移动这些汽车(汽车是Image )箭头的位置。 为了直接驾驶我使用此function: private static void Eiti(Image target, double naujasX, double naujasY, double greitis, char kelias) { var top = Canvas.GetTop(target); var left = Canvas.GetLeft(target); top = Double.IsNaN(top) ? 0 : top; left = Double.IsNaN(left) ? 0 : left; naujasY = Paveikslas.canvasY(naujasY, kelias); var storyboard = new Storyboard(); greitis = 100 / greitis; // […]

视口原点动画

我正在开发一个Windows手机应用程序,我有一个viewportcontroller,使我能够放大和缩小内容。 我想将缩放对准我缩放的点。 我可以做什么 Viewportcontroller.SetViewportOrigin() 但这会使viewportcontroller跳转到我设置的原点。 哪个看起来不太好看。 因此,我想创建一个故事板,在缩放发生时逐渐改变原点。 因此,我想问一下如何使用ViewportControl的属性来执行此操作。 我尝试过一些不同的动画类型,翻译和xy。 但要么是我选择了错误的属性,要么选择了错误的动画类型。 因为没有任何工作:( 因此,我的问题是双重的。 我选择什么类型的动画。 我该如何改变呢? 它应该是DoubleAnimation我在哪里设置和来自? 但我似乎无法在这里说明一点? 任何帮助深表感谢!

如何从XAML访问元素资源中的故事板?

考虑以下代码: … 上面的代码没有问题。 现在,我想将MyStory关键帧值绑定到此用户控件的DP(名为SpecialColor ),如下所示: 这会出错: 无法冻结此Storyboard时间轴树以跨线程使用。 使用后面的代码可以做到这一点。 但是我怎么能只在XAML中做呢? 代码隐藏辅助解决方案: ► 步骤1:将MyStory故事板放入brdBase资源中。 … 错误: 找不到名为“MyStory”的资源。 资源名称区分大小写。 ► 步骤2:消除IsMouseOver属性上的IsMouseOver并从后面的代码开始MyStory 。 C#Code-Behind: private void brdBase_MouseEnter(object sender, MouseEventArgs e) { Border grdRoot = (Border)this.Template.FindName(“brdBase”, this); Storyboard story = grdRoot.Resources[“MyStory”] as Storyboard; story.Begin(this, this.Template); } ► 步骤3:解决方案已经完成,但第一次不起作用。 幸运的是,这个问题有一个解决方法。 将ControlTemplate放入Style足够了。 (我需要其他Trigger类型而不是EventTrigger并且必须使用ControlTemplate包装UserControl元素。) 更新: 关于使用ObjectDataProvider的想法失败了。 ObjectDataProvider资源不能用于提供故事板! 错误报告是: XamlParseException:设置属性’System.Windows.Media.Animation.BeginStoryboard.Storyboard’抛出exception。 InnerException: ‘System.Windows.Data.ObjectDataProvider’不是属性’Storyboard’的有效值。 AssociatedControl DP始终为空。 […]

一个属性上的多个故事板

我有多个故事板可以访问同一个属性(不是同时)。 在一个故事板改变了属性之后,另一个故事板似乎无法访问它并且不会改变任何东西。我能做些什么呢? 样品: hey du dux duy dua 这是我能做的最小的示例代码。 在您hover某个项目后,它会在选中时变为蓝色(尝试单击一个项目,然后使用箭头键选择项目而不hover它们)。