如何通过通用附加属性简化WPF元素的自定义样式编写?

2026-04-30 20:269阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2691个文字,预计阅读时间需要11分钟。

如何通过通用附加属性简化WPF元素的自定义样式编写?

使用通用附加属性减少WPF元素自定义样式,以下为示例代码:

csharp// 魏宏伟 2022年11月07日本项目将以WPFUI(https://gitee.com/dlgcy/WPFUI)项目中的ComboBox样式为例,介绍如何通过自定义样式减少代码量。

​​使用通用附加属性来减少 WPF 元素自定义样式的多余代码​​​​​​

​​魏刘宏2022 年 11 月 07 日

​​

​​本文将以 WPFUI(gitee.com/dlgcy/WPFUI)项目中的 ComboBox 样式为例,介绍如何使用附加属性来增强和简化样式代码。​​


一、自定义元素样式的方法

在开发 WPF 应用的过程中,我们常常需要给元素设置样式,其中一种方法是创建自定义样式,套路如下:

在设计器的元素上右键 --> 编辑模板 --> 编辑副本:

​​

​​

选择名称和位置后点击确定即可创建:


创建后的样式如下,还包括一些颜色画刷之类的,还有最重要的 Template 属性中设置的控件模板及其触发器。在这基础上我们就可以大展拳脚,尽情改造了。



二、使用样式继承减少重复代码

先来看看原始代码的情况:


可以看到除了一些公用的代码外,主要给 ComboBox 提供了五个样式,五个样式之间就是颜色的差别,但是注意看前面的行号,每个样式还是都占用了大概 70 行,实际上其中很多代码是重复的,不相信的朋友可以亲自下载代码看看。

阅读全文

本文共计2691个文字,预计阅读时间需要11分钟。

如何通过通用附加属性简化WPF元素的自定义样式编写?

使用通用附加属性减少WPF元素自定义样式,以下为示例代码:

csharp// 魏宏伟 2022年11月07日本项目将以WPFUI(https://gitee.com/dlgcy/WPFUI)项目中的ComboBox样式为例,介绍如何通过自定义样式减少代码量。

​​使用通用附加属性来减少 WPF 元素自定义样式的多余代码​​​​​​

​​魏刘宏2022 年 11 月 07 日

​​

​​本文将以 WPFUI(gitee.com/dlgcy/WPFUI)项目中的 ComboBox 样式为例,介绍如何使用附加属性来增强和简化样式代码。​​


一、自定义元素样式的方法

在开发 WPF 应用的过程中,我们常常需要给元素设置样式,其中一种方法是创建自定义样式,套路如下:

在设计器的元素上右键 --> 编辑模板 --> 编辑副本:

​​

​​

选择名称和位置后点击确定即可创建:


创建后的样式如下,还包括一些颜色画刷之类的,还有最重要的 Template 属性中设置的控件模板及其触发器。在这基础上我们就可以大展拳脚,尽情改造了。



二、使用样式继承减少重复代码

先来看看原始代码的情况:


可以看到除了一些公用的代码外,主要给 ComboBox 提供了五个样式,五个样式之间就是颜色的差别,但是注意看前面的行号,每个样式还是都占用了大概 70 行,实际上其中很多代码是重复的,不相信的朋友可以亲自下载代码看看。

阅读全文