Loading

摘要: 百叶窗动画是制作PPT时常用的动画之一,本文将通过实现百叶窗动画效果的例子介绍在WPF中如何使用ShaderEffect。ShaderEffect使用高级着色器语言(High Level Shading Language,HLSL)事先制作好并且已经编译过的效果。先看下百叶窗动画实现效果: ![im 阅读全文
posted @ 2023-09-06 19:18 czwy 阅读(3134) 评论(4) 推荐(12)
摘要: 在应用开发过程中,经常遇到这样的需求:通过关键字查找数据,把带有关键字的数据显示出来,同时在结果中高亮显示关键字。在web开发中,只需在关键字上加一层标签,然后设置标签样式就可以轻松实现。 在WPF中显示文本内容通常采用`TextBlock`控件,也可以采用类似的方式,通过内联流内容元素`Run`达 阅读全文
posted @ 2023-08-28 09:05 czwy 阅读(1590) 评论(1) 推荐(7)
摘要: ### 背景 业务开发过程中遇到一个日期范围选择的需求,和Element UI的DateTimePicker组件比较类似,由两个日历控件组成,联动选择起始时间和结束时间。 ### 问题 WPF中提供了一个`DatePicker`的控件,主要由`DatePickerTextBox`、`Button`和 阅读全文
posted @ 2023-08-21 19:01 czwy 阅读(8459) 评论(15) 推荐(25)
摘要: 右键任务栏中应用程序图标时会显示程序名称,例如: ![image][taskbar] 这里显示的并不是程序文件名DingTalk,而是文件属性中详细信息选显卡下的“文件说明”。 ![][description] 在.NET桌面程序中,是通过修改程序集名称(AssemblyTitle)来设置该值,c+ 阅读全文
posted @ 2023-08-18 19:42 czwy 阅读(523) 评论(0) 推荐(0)
摘要: ###背景 应用开发过程中,常常会对用户输入内容进行验证,通常是基于类型、范围、格式或者特定的要求进行验证,以确保输入符合预期。例如邮箱输入框校验输入内容是否符合邮箱格式。在WPF中,数据模型允许将`ValidationRules`与`Binding`对象关联,可以通过继承`ValidationRu 阅读全文
posted @ 2023-08-18 08:43 czwy 阅读(1491) 评论(0) 推荐(2)
摘要: WPF中提供了TreeView控件,对于TreeView控件的基本使用已经有很多文章。大都是介绍如何在后台代码递归遍历数据源,动态创建TreeView。这里我想介绍一下如何只通过XAML标记,不用一行后台代码遍历数据实现TreeView。 阅读全文
posted @ 2023-08-14 19:40 czwy 阅读(1113) 评论(0) 推荐(5)
摘要: ###背景 前一段时间ChatGPT类的应用十分火爆,这类应用在回答用户的问题时逐字打印输出,像极了真人打字回复消息。出于对这个效果的兴趣,决定用WPF模拟这个效果。 >真实的ChatGPT逐字输出效果涉及其语言生成模型原理以及服务端与前端通信机制,本文不做过多阐述,重点是如何用WPF模拟这个效果。 阅读全文
posted @ 2023-08-10 19:43 czwy 阅读(1169) 评论(7) 推荐(11)
摘要: 本文将介绍一个好玩但实际作用可能不太大的动画效果:跳动的字符。为了提高动画效果的可重用性以及调用的灵活性,通过Behavior实现跳动的字符动画。先看下效果: ![image](https://img2023.cnblogs.com/blog/3056716/202308/3056716-20230 阅读全文
posted @ 2023-08-09 19:39 czwy 阅读(1633) 评论(0) 推荐(9)
摘要: ### XAML格式化的意义 在开发WPF应用过程中,编写XAML时需要手动去缩进或者换行,随着时间的推移或者参与开发的人增多,XAML文件内容的格式会越来越乱。要么属性全都写在一行,内容太宽一屏无法完整展现;要么属性单独占一行,难以直观的看清结构;另外xaml元素的属性无序,重要属性查找困难,手动 阅读全文
posted @ 2023-08-08 22:10 czwy 阅读(1828) 评论(1) 推荐(7)
摘要: 重载是许多编程语言支持的特性。所谓重载,就是指可以定义多个名称相同但参数(个数、类型和顺序)不同的方法(函数)。先来看一个例子: void Main() { char cvalue = 'a'; male m = new male(); m.write(cvalue); } class human 阅读全文
posted @ 2023-07-31 22:01 czwy 阅读(218) 评论(0) 推荐(1)
摘要: 多年来,基于XAML的UI框架已经有了很大的发展。下面的图表是最好的说明。这些框架主要包含:支持跨平台应用的Avalonia UI, Uno Platform和 .NET MAUI。事实上,除了Avalonia UI之外,对跨平台XAML的需求是其发展的主要驱动力。如果微软早点推出一个类似Flutt 阅读全文
posted @ 2023-07-21 18:51 czwy 阅读(1123) 评论(0) 推荐(6)
摘要: 前言 本文讨论的仅针对微软Office 2007以后的(OOXML定义)PowerPoint文档,Office 2007以前的用二进制格式定义的(ppt格式)文档不在本文讨论范围。 一、依赖类库 本文需要依赖两个免费的第三方类库:DocumentFormat.OpenXml和FreeSpire.Do 阅读全文
posted @ 2022-12-07 20:24 czwy 阅读(626) 评论(0) 推荐(0)
摘要: 问题描述: 通过DocumentFormat.OpenXml解析PPTX文件时遇到异常:“\b”(十六进制值 0x08)是无效的字符,查看文件发现存在乱码,乱码的十六进制值刚好时异常中提到的0x08 原因分析: 网上有很多关于这类xml遇到无效字符异常的文章,其原因是xml中包含了不可打印的控制字符 阅读全文
posted @ 2022-12-07 20:23 czwy 阅读(86) 评论(0) 推荐(0)