摘要:
一直很心水棱镜(Prism)的事件聚合器。 看了下源代码,代码不多,但是东西真的不少。 简单的实现了一下,没有弱引用,没有线程安全,没有线程级别。 总的来说 原理还是很好理解的。 有点像观察者,或者说就是? 总共分为订阅,发布,通过一个单例总管。 内部设有一个字典和集合,保管引发实例和引发事件。 简 阅读全文
摘要:
更新于2020年11月3日 如果将图像的大小限制于普通1080P屏幕下,并配合调度器终端更新。可以实现2*2像素大小的方块。也就是【1010*1920】的大小,960*505=484,800可控制像素块 其中绘图方式使用task等待,不过没有什么太大的改变。 即便是每10毫秒更新一竖条也不会卡。 代 阅读全文
摘要:
参考资料: https://www.jianshu.com/p/d308641498aa https://zhuanlan.zhihu.com/p/37167062 这是一个来自很久以前的代码 通过DrawingVisual和DispatchFrame快速提升绘图速度 代码里有两种,一种是组合线形成 阅读全文
摘要:
过程很简单,传递ViewModel到附加属性,附加属性引发相关事件和取消事件,从而引发VM中的委托。 修改版本4 2020年7月23日 简化内容。更多东西可以扩展后续的东西可以自由修改。 public abstract class AttachObject : Animatable { protec 阅读全文
摘要:
在圆形布局中说过极坐标。 极坐标是长度和边与极轴之间的角度的坐标表示。 换句话说,只要知道角度和长度(与中心点的距离),我们就能求出这一点的坐标,相对的我们知道这个一点的XY坐标也能求出角度和长度。 极坐标的工具性真的很强,在绘图,动画上 有很大的帮助,计算过程要简单不少。 下面我给出一个简单的小栗 阅读全文
摘要:
先上截图 修正2 源代码 修正: 应该将SetTime方法修改为,行号为207行开始修改 var nk = Day_of_week(year, month, 1); if (nk == 0) nk = 7; for (var i = 0; i < nk-1; i++) { Time.Add(new 阅读全文
摘要:
这个例子来自书上。 记录过程。 主要是数学上极坐标,WPF中的测量过程 简单来说在一个具有固定轴的坐标系内,一个由原点射出的向量并与固定轴有一定角度且在向量上确定长度的这么个东西。 可以参考: 知乎https://www.zhihu.com/question/318613418/answer/640 阅读全文
摘要:
原理很简单,利用Path画一个图,然后用动画进行播放,播放时间由依赖属性输入赋值与控件内部维护的一个计时器进行控制。 控件基本是玩具,无法作为真实项目使用。 因为没有设置播放源,所以编写异步播放源或者实际播放时候要将事件引发,是否播放等属性,事件移到真实播放事件 非专业UI,即使知道怎么画图也是画的 阅读全文
摘要:
什么是依赖属性 在WPF上是一种特殊的值存储手段,主要是利用键值对原理,通过全局维护的方式进行保存和更新。 主要作用于控件的属性值保存,读取。在XAML中会有特殊的处理,包括读取,存储,都是有特殊的对待。 使用方式主要是可读可写,只读两种。 当你实现一个依赖属性,其派生类(依赖属性必须是继承Depe 阅读全文
摘要:
本文中的例子本质上就是利用附加属性传递附加对象,并在观察者模式中使用反射技术实现指定名称的事件参数传递。 本文中框架任然有很多问题,目前来说是勉强能用,有可以修改的地方尽管说! 我们知道附加属性可以随意在控件上使用。 创建附加属性时写DependencyProperty的这一部分 ,并且需要使用Se 阅读全文