WPF性能优化:Freezable 对象

Freezable是WPF中一个特殊的基类,用于创建可以冻结(Freeze)的可变对象。冻结一个对象意味着将其状态设置为只读,从而提高性能并允许在多线程环境中共享对象。Freezable的应用我...

2024-01-31

【译】为什么命名“它”为依赖属性(DependencyProperty)

当我们创建新的类和成员时,我们花费了大量的时间和精力是它们尽可能的好用,好理解,好发现。通常我们会遵循.Net框架设计指南,尤其是会不断地研究这个新类与其他类,未来计划等内容...

2024-01-31

CefSharp自定义滚动条样式

在WinForm/WPF中使用CefSharp混合开发时,通常需要自定义滚动条样式,以保证应用的整体风格统一。本文将给出一个简单的示例介绍如何自定义CefSharp中滚动条的样式。基本思路在...

2024-01-31

[WPF]浅析依赖属性(DependencyProperty)

在WPF中,引入了依赖属性这个概念,提到依赖属性时通常都会说依赖属性能节省实例对内存的开销。此外依赖属性还有两大优势。 支持多属性值,依赖属性系统可以储存多个值,配合Expres...

2024-01-31

[WPF]使用HLSL实现百叶窗动效

百叶窗动画是制作PPT时常用的动画之一,本文将通过实现百叶窗动画效果的例子介绍在WPF中如何使用ShaderEffect。ShaderEffect使用高级着色器语言(High Level Shading Language,H...

2024-01-31

WPF使用TextBlock实现查找结果高亮显示

在应用开发过程中,经常遇到这样的需求:通过关键字查找数据,把带有关键字的数据显示出来,同时在结果中高亮显示关键字。在web开发中,只需在关键字上加一层标签,然后设置标签样式就...

2024-01-31

WPF实现Element UI风格的日期时间选择器

背景业务开发过程中遇到一个日期范围选择的需求,和Element UI的DateTimePicker组件比较类似,由两个日历控件组成,联动选择起始时间和结束时间。问题WPF中提供了一个DatePicker...

2024-01-31

.NET桌面程序如何设置任务栏图标右键菜单中的名称

右键任务栏中应用程序图标时会显示程序名称,例如:这里显示的并不是程序文件名DingTalk,而是文件属性中详细信息选显卡下的“文件说明”。在.NET桌面程序中,是通过修改...

2024-01-31

如何让WPF中的ValidationRule实现参数绑定

背景应用开发过程中,常常会对用户输入内容进行验证,通常是基于类型、范围、格式或者特定的要求进行验证,以确保输入符合预期。例如邮箱输入框校验输入内容是否符合邮箱格式。在...

2024-01-31

WPF中非递归(无后台代码)动态实现TreeView

在UI界面中,树形视图是比较常用的表示层级结构的方式,WPF中提供了TreeView控件。对于TreeView控件的基本使用已经有很多文章。大都是介绍如何在XAML中使用硬编码的固定信息填...

2024-01-31

WPF实现类似ChatGPT的逐字打印效果

背景前一段时间ChatGPT类的应用十分火爆,这类应用在回答用户的问题时逐字打印输出,像极了真人打字回复消息。出于对这个效果的兴趣,决定用WPF模拟这个效果。真实的ChatGPT逐字...

2024-01-31

WPF实现跳动的字符效果

本文将介绍一个好玩但实际作用可能不太大的动画效果:跳动的字符。为了提高动画效果的可重用性以及调用的灵活性,通过Behavior实现跳动的字符动画。先看下效果:技术要点与实现通...

2024-01-31

XAML格式化工具:XAML Styler

XAML格式化的意义在开发WPF应用过程中,编写XAML时需要手动去缩进或者换行,随着时间的推移或者参与开发的人增多,XAML文件内容的格式会越来越乱。要么属性全都写在一行,内容太宽...

2024-01-31

C#的重载决策

重载是许多编程语言支持的特性。所谓重载,就是指可以定义多个名称相同但参数(个数、类型和顺序)不同的方法(函数)。先来看一个例子:void Main(){ char cvalue = 'a';...

2024-01-31

【译】基于XAML的跨平台框架对比分析

多年来,基于XAML的UI框架已经有了很大的发展。下面的图表是最好的说明。这些框架主要包含:支持跨平台应用的Avalonia UI, Uno Platform和 .NET MAUI。事实上,除了Avalonia UI之...

2024-01-31

C# 使用openxml解析PPTX中的文本内容

前言 本文讨论的仅针对微软Office 2007以后的(OOXML定义)PowerPoint文档,Office 2007以前的用二进制格式定义的(ppt格式)文档不在本文讨论范围。一、依赖类库 本文需要...

2024-01-31

解析PPTX 遇到异常:“\b”(十六进制值 0x08)是无效的字符。

问题描述:通过DocumentFormat.OpenXml解析PPTX文件时遇到异常:“\b”(十六进制值 0x08)是无效的字符,查看文件发现存在乱码,乱码的十六进制值刚好时异常中提到的0x08...

2024-01-31

WPF性能优化:形状(Shape)、几何图形(Geometry)和图画(Drawing)的使用

在用户界面技术中,绘图是一个绕不开的话题。WPF提供了多种可根据应用程序要求进行优化的2D图形和图像的处理功能,包括画刷(Brush)、形状(Shape)、几何图形(Geometry)、图画(Dr...

2024-01-31

Java系列:Java8 新特性:强大的 Stream API(创建 Stream、中间操作、终止操作)

Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 Stream API。 Stream API ( java.util.stream) 把真正的函数式编程风格引入到Java中。这是目前为止对J...

2024-01-30

Spring系列:Spring6简介和基本使用

一、概述1.1 特点Spring 是一款主流的 Java EE 轻量级开源框架 ,Spring 由“Spring 之父”Rod Johnson 提出并创立,其目的是用于简化 Java 企业级应用的开发难度和...

2024-01-30

Spring系列:基于XML的方式构建IOC

目录 一、搭建模块spring6-ioc-xml 二、获取bean的三种方式 三、基于setter注入 四、基于构造器注入 五、特殊值处理 六、为对象类型属性赋值 七、引入外部属性文件 八、基...

2024-01-30

Spring系列:基于注解的方式构建IOC

目录 一、搭建子模块spring6-ioc-annotation 二、添加配置类 三、使用注解定义 Bean 四、@Autowired注入 五、@Resource注入 六、全部代码从 Java 5 开始,Java 增加了对注解(A...

2024-01-30

Spring Cloud Seata 系列:Seata-Server (1.7.1)安装与配置(集成 Nacos)

目录 一、简介 术语 事务模式 XA 模式 AT 模式 TCC 模式 Sage 模式 说明 二、Seata Server 存储模式 1、file 模式 ①修改application.xml ②启动...

2024-01-30

Spring Cloud Seata系列:基于AT模式实现分布式事务

目录 前提 Seata的AT模型 流程梳理 一阶段: 二阶段-回滚 二阶段-提交 脏写问题 写隔离 读隔离 优缺点 AT与XA的区别 实现AT模式
https://seata.io/zh-cn/docs/de...

2024-01-30

Spring系列:基于Spring-AOP和Spring-Aspects实现AOP切面编程

目录 一、概念及相关术语 概念 相关术语 ①横切关注点 ②通知(增强) ③切面 ④目标 ⑤代理 ⑥连接点 ⑦切入点 作用 二、基于注解的A...

2024-01-30

Spring系列:基于Spring-Jdbc实现事务

目录 一、事务基本概念 二、编程式事务 三、声明式事务 前期准备 四、基于注解的声明式事务 @Transactional注解标识的位置 事务属性:只读 事务属性:超时 事务属性:回...

2024-01-30

Spring Boot3 系列:Spring Boot3 跨域配置 Cors

目录 什么是CORS? Spring Boot 如何配置CORS? 前端代码 注解配置 全局配置 过滤器配置 注意事项 什么是CORS?CORS,全称是“跨源资源共享”(Cross-Origin Resour...

2024-01-30

MyBatis 系列:MyBatis 源码环境搭建

目录 一、环境准备 二、下载 MyBatis 源码和 MyBatis-Parent 源码 三、创建空项目、导入项目 四、编译 mybatis-parent 五、编译 mybatis 六、测试 总结 一、环境准备jdk:17m...

2024-01-30

Servlet系列:生命周期(init、 service、destroy)详解

Servlet的生命周期是由Web容器(如Tomcat)管理的,包括以下三个阶段: 加载和实例化:当Web应用程序启动时,Web容器会加载和实例化Servlet。加载和实例化过程可以在应用程序启动时自动...

2024-01-30

Spring Cloud 系列:Seata 中TCC模式具体实现

概述https://seata.io/zh-cn/docs/dev/mode/tcc-modehttps://seata.io/zh-cn/docs/user/mode/tccTCC模式与AT模式非常相似,每阶段都是独立事务,不同的是TCC通过人工编码来实现...

2024-01-30

MyBatis 源码系列:MyBatis 体系结构、六大解析器

体系结构MyBatis是一个持久层框架,其体系结构分为三层:基础支持层、核心处理层和接口层。基础支持层包括数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转...

2024-01-30

Spring Cloud系列: OpenFeign 简介和使用以及对比 Feign

目录 一、简介 二、使用 1、创建父工程 2、创建order-service模块 3、创建order-client模块 三、效果 四、配置说明 1、超时配置 全局超时配置 局部超时配置 ...

2024-01-30

Swagger系列:SpringBoot3.x中使用Knife4j

目录 一、简介 二、版本说明 三、使用 四、效果图一、简介官网:https://doc.xiaominfo.com/Knife4j是一个集Swagger2 和 OpenAPI3 为一体的增强解决方案Knife4j 是为 Java MV...

2024-01-30

Android系列:四大组件、五大存储、六大布局

目录 一、四大组件 1、activity 2、service 3、content provider 4、broadcast receiver android四大组件总结 (1)4大组件的注册 (2)4大组件的激活 (3)4大组件的关...

2024-01-30

Android系列:AndroidStudio提高编译速度的几种方法

第一种:减少依赖库的使用,让代码更加精简。对于一些必须依赖的库要尽量使用jar包或者依赖库,这样他每次就会在本地直接加载,而不是每次FQ检查更新第二种:打开Android Studio,选择...

2024-01-30

Android系列:AndroidStudio3.x中api、compile和implementation的区别

首先在AndroidStudio3.x中compile已经过时由implementation和api来代替 其次compile与api完全等同 3.x中可以完全将compile换成apimplementation与api的区别implementation...

2024-01-30

Android系列:Android入门(创建、编译、运行、打包、安装)

一.创建Android项目1.选择Emtpy Activity=>Next 2.配置项目输入Name(名称) Package.name(包名) Save location(保存位置) Language(语言) Minimum API level(最低的API级别)...

2024-01-30

java.util.ConcurrentModificationException 异常问题详解

环境:JDK 1.8.0_111在Java开发过程中,使用iterator遍历集合的同时对集合进行修改就会出现java.util.ConcurrentModificationException异常,本文就以ArrayList为例去理解和解决...

2024-01-30

详解Java中的字符串

目录 字符串常量池详解 配合反编译代码验证字符串初始化操作. 详解字符串操作类 String, StringBuilder, StringBuffer的底层实现 关于StringBuilder和String之间的讨...

2024-01-30

细说Java主流日志工具库

细说 Java 主流日志工具库 日志框架 java.util.logging (JUL) Log4j Logback Log4j2 Log4j vs Logback vs Log4j2 日志门面 common-logging slf4j common-loggin...

2024-01-30

Java实现简单的RPC框架

一、RPC简介RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式。如RMI(远程方法调用)...

2024-01-30

java的动态代理机制详解

在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的...

2024-01-30

7000字详解Spring Boot项目集成RabbitMQ实战以及坑点分析

本文给大家介绍一下在 Spring Boot 项目中如何集成消息队列 RabbitMQ,包含对 RibbitMQ 的架构介绍、应用场景、坑点解析以及代码实战。我将使用 waynboot-mall 项目作为代码...

2024-01-30

Java连接kubernates集群最优雅的两种方式

创建maven工程,pom.xml中引入连接k8s的客户端jar包:<properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target>...

2024-01-30

Visual Studio部署C++矩阵库Armadillo的方法

&emsp;&emsp;本文介绍在Visual Studio软件中配置C++环境下线性代数运算库Armadillo的方法。&emsp;&emsp;首先,我们需要在Armadillo库官网下载其源代码,直接点击下图所示红色框...

2024-01-30

C++ Qt开发:运用QJSON模块解析数据

Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将...

2024-01-30

VUE3子表格嵌套分页查询互相干扰的问题解决

VUE3在表格中嵌套子表格
子表格的分页查询互相干扰的问题解决简单嵌套如果不需要做子表格的分页查询,那么可以直接在主表格中嵌套子表格,有两种方式;一种是主表格加载的同时加...

Pytorch分布式训练,其他GPU进程占用GPU0的原因

问题最近跑师兄21年的论文代码,代码里使用了Pytorch分布式训练,在单机8卡的情况下,运行代码,出现如下问题。

也就是说GPU(1..7)上的进程占用了GPU0,这导致GPU0占的显存太多,以至...

2024-01-30

JVM(Java虚拟机) 整理

JVM整体结构本文主要说的是HotSpot虚拟机,JVM 全称是 Java Virtual Machine,中文译名:Java虚拟机简化一下:Java字节码文件Class文件本质上是一个以8位字节为基础单位的二进制流,...

2024-01-30

SpringBoot实现动态数据源配置

场景描述:前一阵子接手的新项目中需要使用2个数据源。一个叫行云数据库,一个叫OceanBase数据库。就是说,我有时候查询要查行云的数据,有时候查询要查 OceanBase 的数据,咋办?废话...

2024-01-30
返回顶部
顶部