DoubleAnimation crossLeftAnimation = new DoubleAnimation();
crossLeftAnimation.Duration = TimeSpan.FromSeconds(0.5);
Storyboard.SetTargetName(crossLeftAnimation, "imgCrossCartoon");
Storyboard.SetTargetProperty(crossLeftAnimation,
new PropertyPath(Canvas.LeftProperty));
DoubleAnimation crossTopAnimation = new DoubleAnimation();
crossTopAnimation.Duration = TimeSpan.FromSeconds(0.5);
Storyboard.SetTargetName(crossTopAnimation, "imgCrossCartoon");
Storyboard.SetTargetProperty(crossTopAnimation,
new PropertyPath(Canvas.TopProperty));
Storyboard myStoryboard=new Storyboard();
myStoryboard.Completed+=new EventHandler(myStoryboard_Completed);
this.imgCrossCartoon.IsEnabled= true;
if (id > 0)
crossLeftAnimation.From = Canvas.GetLeft(_calibrateCircles[id-1]);
crossLeftAnimation.To = Canvas.GetLeft(_calibrateCircles[id]);
crossTopAnimation.From = Canvas.GetTop(_calibrateCircles[id - 1]);
crossTopAnimation.To = Canvas.GetTop(_calibrateCircles[id]);
crossLeftAnimation.From = -40;
crossLeftAnimation.To = Canvas.GetLeft(_calibrateCircles[id]);
crossTopAnimation.From = -40;
crossTopAnimation.To = Canvas.GetTop(_calibrateCircles[id]);
myStoryboard.Children.Add(crossLeftAnimation);
myStoryboard.Children.Add(crossTopAnimation);
myStoryboard.Begin();
结果出现:Storyboard 不存在可解析名称“ ”的适用名称领域错误。后来参考
http://social.msdn.microsoft.com/Forums/zh-TW/802/thread/1365449e-965d-4df7-82df-e3e0e8d0ca19
,把最后一句改为:
myStoryboard.Begin(this.imgCrossCartoon);
原文:WPF 创建自定义窗体
在前面的一篇博客"WPF 自定义Metro Style窗体",展示了如何创建一个类似于Metro Style的Window,并在程序中使用。但是这个窗体不能够自由的改变大小。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Vblegend_2013/article/details/83477473
原文:WPF自定义行为Behavior,实现双击控件复制文本
WPF引用xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.
原文:WPF 使用附加属性增加控件属性
使用附加属性增加控件属性,使得这个附加属性在使用的时候没有局限性,可以在任何的控件中使用它来增加所需要的属性,使得控件的属性使用起来非常灵活
一、自定义附加属性
附加属性是说一个属性本来不属于某个对象,但由于某种需求而被后来附加上,也就是把对象放入一个特定环境后对象才具有的属性就称为附加属性,附加属性的作用就是将属性与数据类型解耦,让数据类型的...
原文:[UWP]了解模板化控件(6):使用附加属性
1. 基本需求
之前的ContentView2添加了PointerOver等效果,和TextBox等本来就有Header的控件放在一起反而变得鹤立鸡群。