使用Extended.Wpf.Toolkit控件库

Extended.Wpf.Toolkit控件库是对WPF内置控件库的补充,提供了非常多的好用控件,可以帮助我们开发出交互性更强的桌面应用程序,是WPF程序开发的又一利器!

本文针对其中非常经典的几个控件做简要介绍,在后续项目中实际使用时可以更深入了解各控件用法。

阅读更多

初识Tauri

前端技术日新月异,利用前端技术开发桌面应用程序是一个焦点话题,目前已有Electron这样的重量级框架,也诞生了Tauri这样的年轻充满朝气的框架。

本人更偏爱Tauri框架,本文结合一个小例子对该框架做简单介绍。

阅读更多

WPF模板与样式

WPF中的模板是非常强大的机制,可以灵活设置控件的外观和数据呈现方式,在复杂GUI场景下会发挥巨大作用。

阅读更多

WPF资源

资源是WPF的一个重要主题,资源可以对一些属性值进行集中管理,方便后期统一修改和维护。WPF支持传统的二进制资源,也有特定的对象资源,本文进行系统介绍。

阅读更多

WPF的UI线程

在WPF中,UI线程是比较特殊的线程,如何实现非UI线程对UI元素的修改是一个常见问题。

本文先介绍UI线程的基本知识,然后以实例方式介绍BackgroundWorker的使用及其原理。

阅读更多

WPF/MVVM系列(6)——消息传递

WPF/MVVM系列文章的前面几篇将焦点聚集在一个ViewModel中,但在实际WPF项目中每一个窗体都对应一个ViewModel,如何在多个ViewModel之间传递数据是一个重要话题。本文介绍CommunityToolkit.MVVM框架的事件机制。

阅读更多

再话WPF绑定

在实际WPF项目中,可能会遇到非常复杂的数据绑定情况,本文针对一些常见情况,归纳出简单易用的数据绑定方法。

阅读更多

面向切面编程(AOP)

面向切面编程(Aspect Oriented Programming, AOP)的概念非常简单,它把系统的一些非业务功能(如日志记录、性能监控、事务管理等)从业务代码中剥离出来定义成切面,再把这些切面作为对业务代码的增强。降低了非业务功能对业务代码的侵入,进一步降低了两者的耦合程度。

阅读更多

控制反转(IoC)和依赖注入(DI)

控制反转(Inversion of Control,IoC)是一种设计原则,它把创建和管理类对象的控制权从调用者转移到框架容器中。事先在框架容器中注册各种类对象,由框架容器统一负责类对象的创建、装配和管理;调用者无须显式创建类对象,只需声明使用即可。在这里,类对象就是服务。IoC进一步实现了各模块之间的解耦,充分体现了技术人在“高内聚、低耦合”设计方向上的不懈追求!

依赖注入(Dependency Injection,DI)是实现IoC的最流行方式,被各大技术框架所采用。

本文详细介绍.NET框架的DI用法,并给出一个Spring框架的DI示例用以对比。

阅读更多

WPF数据校验

在WPF中,有许多数据校验方法,ValidationRule、IDataErrorInfo和DataAnnotations是三种最常用的方式,本文对其用法做一个简单介绍。

在实际项目开发中,推荐使用IDataErrorInfo + DataAnnotations的方案!

阅读更多