08 2013 档案

摘要:如果前两篇的博客太为普通,那么接下来的内容将让你动画实在是太厉害了。本文将会介绍两个关于纯手工实现动画的形式,当然动画效果就不用我多说了。基于帧的动画:此处的帧并不是之前介绍的Animation这样的动画,之所以称之为帧,那是因为它控制范围更加精细。也就是说,在有些应用程序方案中,你需要根据每个帧控制呈现,使那么就可以基于每个帧回调来创建自定义动画。基于帧的动画主要使用CompositionTarget对象的一个回调函数来实现,CompositionTarget表示应用程序的显示图面,其回调函数将会在1秒之内被访问60次,所以也就可以实现动画的过程(一般来说此种动画会在游戏的时候使用,因为它每 阅读全文
posted @ 2013-08-30 13:45 wangyafei_it 阅读(508) 评论(0) 推荐(0) 编辑
摘要:上一篇文章简单介绍了动画的定义方法和一些控制动画的方法,并没有涉及复杂属性的动画处理方式,本文将继续动画的其它方面的使用。写在前面(对于一些动画操作时候的建议):1.如果希望某个元素从显示到消失,或者从消失到显示,使用Visibility属性是无效的,因为此属性没有一个动画的过程,所以使用Opacity控制透明度进行操作;2.如果要修改元素的位置则可以使用Canvas.Left或者Canvas.Top设置是RenderTransform(下文会涉及);3.可以使用ColorAnimation修改元素的Brush,如果是比较复杂的aBrush,则可以使用DoubleAnimation来修改Off 阅读全文
posted @ 2013-08-29 18:29 wangyafei_it 阅读(779) 评论(0) 推荐(0) 编辑
摘要:定义动画:直接使用Element进行BeginAnimation DoubleAnimation animation = new DoubleAnimation(); animation.By = 100; animation.Duration = TimeSpan.FromSeconds(1); btnTest.BeginAnimation(Button.WidthProperty, animation);也可以将Animation添加到StoryBoard中去,这样可以一次执行多个动画: ... 阅读全文
posted @ 2013-08-27 11:48 wangyafei_it 阅读(963) 评论(0) 推荐(0) 编辑
摘要:本文主要是以实现拖动元素作为例子。创建Behavior:通常这个类会继承自Behavior,其中T就是此Behavior服务的对象,在此处使用的是UIElement,也就是虽有的UIElement类型的元素都可以使用。 public class DragInCanvasBehavior : Behavior { //元素父节点 private Canvas canvas; //标识是否进入拖动 private bool isDraging = false; //按下鼠标时的坐标(用于计算要移动的位置) p... 阅读全文
posted @ 2013-08-26 14:21 wangyafei_it 阅读(3064) 评论(0) 推荐(6) 编辑
摘要:其实代码蛮简单的,在元素的DragOver事件中加入如下代码: Point svPoint = e.GetPosition(sv); if (sv.ActualHeight-svPoint.Y <= 20) { sv.ScrollToVerticalOffset(this.sv.VerticalOffset + 5); } if (Math.Abs(svPoint.Y) <= 20) { sv.ScrollTo... 阅读全文
posted @ 2013-08-26 10:09 wangyafei_it 阅读(912) 评论(0) 推荐(1) 编辑
摘要:说在前面:WPF中给按钮或者是具备Command等元素实现快捷键其实是非常简单的,例子如下: XAML代码很简单,一个Button,设置了Content和事件,细心的小盆友会发现Content的前缀是一个_,这个可不是一般的下划线哦,因为你在运行时候是看不到这个下划线的,这就是快捷键的神奇之处,现在运行程序按下 "Alt+T",你会发现好神奇竟然执行了Click事件。解释:WPF中的快捷键定义规则是在文本的前边加上下划线,然后按下Alt和下划线后的字母即可实现,比如上例子中我们下划线后边的是T,所以我们按下Alt+t就可以实现快捷操作,当然你也可以是A--Z都ok的。窃喜: 阅读全文
posted @ 2013-08-22 16:17 wangyafei_it 阅读(2979) 评论(0) 推荐(1) 编辑
摘要:前记:WPF中的样式使用一般分为两种Statci和Dynamic.两者的区别可以理解为,前者在运行的时候已经确定了样式的风格,而后者可以根据资源在运行时的修改而修改也可以使用那些在运行时才存在的资源。背景:有时候我们会将样式的资源和XAML页面代码分离,有时候也希望同一个资源可以在多个Application中使用;另外还有一个更致命的问题,如果我们在很多地方都写了重复的样式,突然有一天我们要修改,那岂不是要一个一个地方进行修改,那工作量实在不敢想象。好在WPF中提供了解决这个问题的好方法,那就是ComponentResourceKey(定义或引用基于外部程序集中的类名以及一个附加标识符的资源键 阅读全文
posted @ 2013-08-21 18:03 wangyafei_it 阅读(908) 评论(0) 推荐(2) 编辑
摘要:一、准备好你要使用的字体文件,以TTF结尾的文件,然后复制到项目中,并设置Build Action(生成操作)为Resource(资源);二、在App.xaml中或者你需要的地方添加资源的定义: /WpfApplication5;Component/#超世纪细圆体 /WpfApplication5;Component/#腾祥孔淼卡通繁 上述代码实在App.xaml中添加,FontFamily的Key自定义,反正就是一个名字,后边的字符串其实就是一个字体名字的引用;/WpfApplication5;component/这些是固定的,意思就是WpfApplicat... 阅读全文
posted @ 2013-08-16 14:06 wangyafei_it 阅读(4376) 评论(0) 推荐(0) 编辑
摘要:一、新建一个资源文件,然后设置其Build Actoin(生成操作)为Resource(资源);二、在App.xaml.cs的StartUp事件或者是你需要的时机代码段写上如下代码: ResourceDictionary languageResDic = new ResourceDictionary(); languageResDic.Source = new Uri("Dictionary1.xaml", UriKind.RelativeOrAbsolute); this.Resources.MergedDictionarie... 阅读全文
posted @ 2013-08-16 13:55 wangyafei_it 阅读(2215) 评论(0) 推荐(1) 编辑
摘要:private void KeyDown(object sender, KeyEventArgs e) { if (e.Key== Key.Up && Keyboard.Modifiers== ModifierKeys.Alt) { } }上述代码看起来蛮正常,但是很遗憾,当我们按下向上键和Alt键时候是无效的,可是当按下Ctrl和向上键就是ok的,很是无语,好在有了下边的代码。 private void KeyDown(object sender,... 阅读全文
posted @ 2013-08-09 13:18 wangyafei_it 阅读(1573) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示