WPF中画蚂蚁线的实现
这是一个比较偏的功能,看了其他的很多博客都没有介绍,最后看自己试出来了.
先上效果图

<Path Data="M 100,240 C 510,300 80,100 300,160 H40 v80"
StrokeDashArray="3 3"
StrokeDashOffset="1"
Stroke="Black"
StrokeThickness="3"
StrokeLineJoin="Round"
StrokeStartLineCap="Flat"
>
<Path.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard RepeatBehavior="Forever">
<DoubleAnimation Storyboard.TargetProperty="StrokeDashOffset" From="0" To="6" Duration="0:0:0:0.2"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Path.Triggers>
</Path>
目前还不知道怎么把蚂蚁线中的 图形从 dashed(-) 改成arrow(箭头) 或其他图形. 如果谁有优雅的方法请麻烦分享一下 ^ ^
WPF中画蚂蚁线的实现的更多相关文章
- WPF中画虚线
原文:WPF中画虚线 在WPF中,画线的方法十分简单,只要声明一个Line然后添加到指定的位置就可以了,但Line并不仅仅只能画一条直线,还可以对直线进行修饰. 1.Line.StrokeDashAr ...
- 深入WPF中的图像画刷(ImageBrush)之2——ImageBrush的铺设方式
原文:深入WPF中的图像画刷(ImageBrush)之2--ImageBrush的铺设方式 ------------------------------------------------------ ...
- 深入WPF中的图像画刷(ImageBrush)之1——ImageBrush使用举例
原文:深入WPF中的图像画刷(ImageBrush)之1--ImageBrush使用举例 昨天我在<简述WPF中的画刷(Brush) >中简要介绍了WPF中的画刷的使用.现在接着深入研究 ...
- 简述WPF中的画刷(Brush)
原文:简述WPF中的画刷(Brush) -------------------------------------------------------------------------------- ...
- WPF中的Drawing
以前在用WinForm的时候,可以通过GDI+接口在窗体上动态绘制自定义的图形.在WPF中有没有对应的API呢,最近项目中用到了这个,在这里总结一下. WPF中的Drawing主要提供了几类API: ...
- WPF中不规则窗体与WindowsFormsHost控件的兼容问题完美解决方案
首先先得瑟一下,有关WPF中不规则窗体与WindowsFormsHost控件不兼容的问题,网上给出的解决方案不能满足所有的情况,是有特定条件的,比如 WPF中不规则窗体与WebBrowser控件的兼 ...
- WPF中如何使用图像API进行绘制
首先,由于WPF中不象GDI+中有Graphics对象,因此你无法使用Graphics进行绘图了,取而代之的是:DrawingContext:类似地,GDI+中的OnPaint已被OnRender取代 ...
- 在WPF中自定义你的绘制(五)
原文:在WPF中自定义你的绘制(五) 在WPF中自定义你的绘制(五) ...
- 在WPF中自定义你的绘制(二)
原文:在WPF中自定义你的绘制(二) 在WPF中自定义你的绘制(二) ...
随机推荐
- Windows 查看硬盘ID(diskpart命令)
使用diskpart命令Win+R键运行cmd,进入命令行界面:1.diskpart2.list disk 查看有几块硬盘3.select disk 0 选择第一块硬盘4.detail disk 显示 ...
- Momentum(动量/冲量)的理解及应用
1. 基本概念(Momentum vs SGD) Momentum 用于加速 SGD(随机梯度下降)在某一方向上的搜索以及抑制震荡的发生. GD(gradient descent) θt=θt−1−η ...
- ITFriend创业败局(五):创业可以停止,公司必须注销,不然后果很严重
马上又要继续出来创业做事了,想到要注册公司,有个麻烦事. 事情得回到2014年9月. 当时,由于各种因素,决定放弃ITFriend,当然也放弃了原来了公司.先是,咨询了横德瑞的陈总,关于公司注销的事. ...
- [Angular] Difference between ngAfterViewInit and ngAfterContentInit
Content is what is passed as children. View is the template of the current component. The view is in ...
- 物理引擎UIDynamic
nUIDynamic n什么是UIDynamic pUIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 p可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象 ü重力. ...
- erlang的Socket参数含义
http://blog.csdn.net/pkutao/article/details/8572216 {ok, Listen} = gen_tcp:listen(?defPort, [binary, ...
- java-工具代码
格式化输出 //d:是输出整数 //10;表示输出10位整数 //0:表示如果不够10位的话,用0来占位,也可以用写成空格,用空格来占位 String a = String.format(" ...
- Docker + .NET Core(三)-两种发布方式
原文:Docker + .NET Core(三)-两种发布方式 第一种,自己手写dockerfile发布,上传至hubDocker 正常发布到文件夹中,发布文件上传至linux机器上.如 /www/a ...
- 【23.24%】【codeforces 629C】Famil Door and Brackets
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- switch语句中default用法详解
当年学C语言switch开关语句的时候,很多人会告诉你它是这么用的: switch(表达式){ case常量表达式1: 语句1;break; case常量表达式2: 语句2;break; - case ...