WPF
-
WPF教程十:如何使用Style和Behavior在WPF中规范视觉样式
在使用WPF编写客户端代码时,我们会在VM下解耦业务逻辑,而剩下与功能无关的内容比如动画、视觉效果,布局切换等等在数量和复杂性上都超过了业务代码。而如何更好的简化这些编码,WP…
-
WPF教程十二:了解自定义控件的基础和自定义无外观控件
这一篇本来想先写风格主题,主题切换、自定义配套的样式。但是最近加班、搬家、新租的房子打扫卫生,我家宝宝6月中旬要出生协调各种的事情,导致了最近精神状态不是很好,又没有看到我比较喜欢…
-
WPF教程三:学习Data Binding把思想由事件驱动转变为数据驱动
概述 之前大家写代码都喜欢用事件驱动,比如说鼠标输入的click事件、初始化的内容全部放在窗体加载完毕的load事件,等等,里面包含了大量的由事件触发后的业务处理代码。导致了UI…
-
WPF教程四:字段、属性、依赖项属性的演变过程
这个章节主要讲解属性是什么,为什么会演变出依赖项属性,依赖属性的优势是什么。以及如何更好的使用属性和依赖项属性。 一、属性 属性是什么。 翻了好几本C#的书和微软的文档,我觉得对…
-
WPF教程二:布局系统
WPF的布局系统 了解元素的测量和排列方式是理解布局的第一步。在测量(measure)阶段容器遍历所有子元素,并询问子元素它们所期望的尺寸。在排列(arrange)阶段,容器在合适…
-
WPF教程一:创建Hello world来理解XAML的内容及编译
在实际的WPF开发中遇到很多再用Winform写法来写WPF的开发人员,很多时候项目进度延期、出现非必要的BUG等等、大多是因为开发人员虽然是在写WPF,但是没有好好的学过WPF,就导致无法发挥出WPF的优势、很多地方都是开个线程处理完成后一个回调UI线程函数里面套一整段代码,这种情况下不仅难处理多线程问题、也会出现很多偶发性的BUG,不好追踪问题在哪里。同时也会因为开发人员对WPF的理解参差不齐导致架构设计和使用过程中代码凌乱。所以今天开始hello world 来梳理WPF。
-
深入了解 WPF Dispatcher 的工作原理(Invoke/InvokeAsync 部分)
深耕 WPF 开发的各位程序员大大们一定避不开使用 Dispatcher。跨线程访问 UI 当然免不了用到它,将某个任务延迟到当前任务之后执行也会用到它。Dispatcher.In…
-
WPF 必知技巧
光标 自定义光标 12 StreamResourceInfo sri = Application.GetResourceStream(new Uri(@”cur\era…
-
WPF内存优化
内存监测软件 Ants Memory Profiler 下载地址: https://pan.baidu.com/s/1nLF6njntaVgrXVdIaT1mOw&nbs…
-
WPF教程九:理解WPF中的对象资源
在WPF中,所有继承自FrameworkElement的元素都包含一个Resources属性,这个属性就是我们这篇要讲的资源。 这一篇讲解的资源是不是上一篇的程序集资源(那…