- 博客(57)
- 问答 (1)
- 收藏
- 关注
原创 WPF InkCanvas 控件详解
InkCanvas 是 WPF 提供的一个手写绘图控件,它允许用户使用鼠标、触摸屏或手写笔在界面上进行绘图、标注等操作。
2025-03-26 23:00:28
1010
原创 WPF 布局中的共性尺寸组(Shared Size Group)
功能实现方式让多个 Grid 共享同一列/行的尺寸在或中设置属性启用共享尺寸功能设置使用限制仅适用于Auto尺寸的行或列。
2025-03-20 23:09:45
801
原创 WPF 中的 GridSplitter 详解
是 WPF 提供的一个控件,用于调整Grid布局的行或列的大小。它可以让用户在运行时拖动分隔线,以改变相邻的行或列的大小,而不需要修改 XAML 代码。功能方法调整行高放在行内,Height="5"。调整列宽放在列内,Width="5"。限制拖动范围设定MinHeightMinWidth防止过度拖动。控制调整方式使用RowsColumns)和设置拖动步长控制拖动时最小步长,提高调整体验。是 WPF 进行动态 UI 布局的重要工具,正确使用可以提升用户体验,使界面更加灵活。
2025-03-20 22:39:53
441
原创 WPF 布局舍入(WPF 边框模糊 或 像素错位 的问题)
在 WPF 开发过程中,可能会遇到界面模糊、边框错位、文本渲染不清晰等问题。这些现象通常是由于 WPF 采用设备无关像素(DIP, Device Independent Pixels),在不同 DPI 设置下,UI 元素的位置和大小可能会出现小数像素,导致渲染模糊。WPF 提供了布局舍入(Layout Rounding)机制,以确保 UI 元素的位置和大小对齐到整数像素,从而避免模糊问题。控件可能出现的问题解决方案所有控件位置错位、模糊字体模糊线条模糊Image图片缩放模糊边缘模糊。
2025-03-19 22:35:13
1231
原创 WPF XAML(一)
问:XAML的含义是什么?为什么WPF中会使用XAML?而不是别的?答:在XAML是基于XML的格式,XML的优点在于设计目标是具有逻辑性易读而且简单内容也没有被压缩。其中需要提一下XAML文件在 Visual Studio (VS) 编译时,是会被转换为BAML。BAML最终会以资源的形式嵌入到DLL或者EXE程序集中。由于BAML是标记化的,所以在程序运行时能够被更快的解析。
2024-01-11 21:40:40
1489
原创 深入解析 迭代器
迭代器是包含迭代器块,通常是方法或者是属性。迭代器通常返回类型都是IEnumerable或IEnumerable类型的方法或属性,每个迭代器都有一个生成类型,返回类型是非泛型时则为Object类型,是泛型时则是返回泛型的类型实例类型。如IEnumerable则返回的类型就是int。yield return 在迭代器中代表返回某一个值 如 yield return 1就是返回1这个数值。yield break 则代表终止迭代器的进行。
2024-01-03 20:54:21
445
原创 Visual Studio 任务列表
视图—任务列表 (CTRl+w+t)帮助我们快速找到注释位置(用在需要反复查找修改的地方)使用//todo:注释的内容就会显示在任务列表中。打开 “环境” 文件夹,然后选择 “任务列表”。在 “工具” 菜单上,选择 “选项”。
2023-12-31 15:23:42
752
原创 深入解析泛型
在C#1 中我们还没有泛型的时候我们收集数据通常需要使用到数组,或者使用封装好的数组集合Hashtable ArrayList。举个例子:我们在读取文件的时候就会需要一个数组来储存读取的数据的内容 但我们并不知数据的具体长度也就无法在声明的时候附上准确的数组长度。这时我们可以使用一种较为繁琐的方法 就是声明一个数组,如果当前的数组已经被填满,那么将当前数组的数据复制到一个更加大的数组当中 ,直到数组没有被填满就将当前数组的实际有效内容复制到一个正好大小的数组当中。
2023-12-31 13:38:09
1062
原创 C#语言发展历程(1-7)
X = x;Y = y;// 尝试修改结构的属性值,将会引发编译错误// 结构的属性值无法修改,因此下面的赋值操作是创建了一个新的Point实例示例解释:上述代码中,我们创建了一个Point对象,打印了它的坐标,并尝试修改它的属性值。由于Point是不可变的结构,所以修改属性值的操作会导致编译错误。然后,我们创建了另一个Point对象p2,并将其赋值给p3。由于结构是不可变的,所以赋值操作实际上是创建了一个新的Point实例。
2023-12-30 16:47:43
1146
原创 C# LINQ
一、前言二、LINQ to XML三、LINQ查询语法四、LINQ方法语法五、LINQ排序查询结果七、聚合运算符八、单值选择查询九、多级排序十、扩展 1 分组查询 2 Join查询
2023-12-26 22:32:15
480
原创 Json和Xml
详细介绍Xml和Json的含义以及互相转换的方式。创建Xml模式,最后C#对xml的读取修改保存等操作介绍。XPath搜索XML文件(含图文解释)
2023-12-24 10:54:17
621
原创 C#文件操作(二)
FileStream 读取文件 写入文件StreamWriter 创建StreamWriter 对象 写入文件StreamRead 读取文件异步文件访问读写压缩文件监控文件
2023-12-21 15:43:02
233
原创 C#文件操作(一)
操作文件的相关类、File和Directory类、File 类、 Directory类、FileInfo类、DirectoryInfo 类、相对路径与绝对路径
2023-12-20 22:43:42
288
原创 高级C#技术(二)
匿名类型动态查找高级方法参数可选参数命名参数Lambda表达式复习匿名方法把lambda表达式用于匿名方法lambda表达式的参数lambda表达式的语句体lambda表达式用作委托和表达式树lambda表达式和集合
2023-12-13 22:21:11
533
原创 高级C#技术(一)
::运算符和全局名称空间限定符、定制异常、事件、事件的含义、处理事件、定义事件、特性、读取特性、创建特性、初始化器、对象初始化器、集合初始化器、类型推理、匿名类型、动态查找、高级方法参数、可选参数、命名参数、Lambda表达式、复习匿名方法、把lambda表达式用于匿名方法、lambda表达式的参数、lambda表达式的语句体、lambda表达式用作委托和表达式树、lambda表达式和集合
2023-12-11 16:51:18
291
原创 C#集合、比较、转换
框出的几个接口,在 System.Collections 命名空间下,这几个接口提供了,基本的集合功能。我将解释框柱的四个接口,后文会介绍其他的。C#中的集合一般用于处理对象列表,功能比简单的数组要多,功能大多数是通过System.Collection 名称空间中的接口而获得的。我们可以在对象浏览器中找到(快捷键 Ctrl+W+J)
2023-11-29 10:58:22
1355
原创 C# 设计模式-----抽象工厂设计模式
象工厂模式是一种创建型设计模式,旨在提供一个接口,用于创建一系列相关或相互依赖的对象,而无需指定具体的类。它可以帮助我们实现可扩展、灵活的代码结构,将对象的创建与使用分离,同时也符合面向对象设计的开闭原则。
2023-11-28 17:12:04
94
原创 C# 设计模式-----单例模式(Singleton)
访问只需要通过,Singlton.Instance 为何称它为单线程的Singlton因为 在多个线程同一时间访问 Instance属性时,首先访问的线程在判断instance为null时则,进入创建对象实例,在创建的过程中,又一个线程对属性进行访问,此时instance还是为null ,所以会同时可能创建多个实例。只需要保证核心是:如何控制用户使用new对一个类的实例构造器的任意调用。如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?,才能确保它们的逻辑正确性、以及良好的效率。
2023-11-26 11:49:02
518
原创 功能“合并赋值”在 C 7.3 中不可用。请使用 8.0 或更高的语言版本。
Microsoft Visual Studio 报错功能“合并赋值”在 C 7.3 中不可用。请使用 8.0 或更高的语言版本。
2023-11-16 15:06:30
464
原创 工作日志- - -自定义控件(详解)
详细介绍WPF 中:自定义控件,文章内容包含: 创建自定义控件类1.1绘制自定义控件外观1.2添加自定义控件的依赖属性1.3当前效果图1.4 添加自定义控件的事件1.5 创建lcommand类型的依赖属性1.6 创建自定义控件的事件1.7 创建自定义控件的Command1.8 创建自定义控件的依赖事件
2023-11-09 16:34:14
250
原创 实习笔记 C# 集合中的一些扩展方法(LINQ的扩展方法解析)
LINQ(Language Integrated Query)是一种在C#中实现的查询语言,它可以使开发者更方便地从数据源(如数组、集合、XML文档、数据库等)中获取数据。使用LINQ,开发者可以将查询表达式嵌入到C#编程语言中,而不必学习专门的查询语言(如SQL)。
2023-03-30 16:46:59
461
原创 Prism 事件聚合器Event--实现订阅-发布-接收
C# 语言中WPF 开发中框架 Prism 中的 事件聚合器Event,含简要的在Vs中的查找变量的堆中地址和栈中地址
2023-03-15 11:55:43
1153
原创 Visual Studio 2022 中自定义代码片段-C#图示详解
本文章主要讲解Visual Studio中自定义自己的代码片段,提高编译效率
2023-03-07 11:09:17
2881
原创 Prism 框架 -含ViewModelLocator
指定视图绑定的上下文ViewModel注册视图时指定命名空间使用ViewModelLocator 自动查找或是自定义搜索方式指定控件容器的DataContext、或是指定控件的ViewModel
2023-03-02 16:48:05
1164
1
原创 C# 入门经典第8版 前6章知识归纳
Csharp 字面值(书 P30)Csharp 二进制字面值与数字分割(书 P31)Csharp 转义符(书 P31)Csharp 表达式(书 P32)Csharp Uising 当中static(书 P37)Csharp Goto关键字(书 P46)Csharp 枚举(书 P61)Csharp 结构(书 P64)Csharp 多维数组(书 P71)Csharp 数组的数组又称锯齿数组(书 P72)Csharp 字符串的处理(书籍73-76)都是方法 暂时不做解释C# 关键字 When p69 checke
2023-02-21 11:50:08
391
1
C#中WPF导入excel表格导出Datagrid表格数据
2023-02-21
c#程序设计中怎么自定义显示或隐示转换
2023-02-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人