刷新
WPF实现树形下拉列表框(TreeComboBox)

博主头像 前言 树形下拉菜单是许多WPF应用程序中常见的用户界面元素,它能够以分层的方式展示数据,提供更好的用户体验。本文将深入探讨如何基于WPF创建一个可定制的树形下拉菜单控件,涵盖从原理到实际实现的关键步骤。 一、需求分析 树形下拉菜单控件的核心是将ComboBox与TreeView结合起来,以实现下拉时 ...

OOP 定义

博主头像 面向对象编程(OOP)是一种使用对象及其相互作用设计应用和计算机程序的编程范例。 OOP 中有一些基本的编程概念: 抽象化 (抽象化,也在我们编程世界中 所有类都是抽象化,物以类聚,拥有共同的特性或者行为) 椅子类 人类 动物类 【本质就是归类】 多态性 【一类多种表现形态】【本质就是抽象化的程度】 ...

Avalonia的Window生命周期

博主头像 Avalonia中的Window 在Avalonia中,Window是一个基本的UI元素,它代表了一个应用程序的窗口。每个Window都可以包含其他的UI元素,如按钮、文本框等,并可以响应各种用户输入事件。 在下面的例子中,制定了当前应用的Window是MainWindow public parti ...

2024.04.04 网站初步搭建完成

今天,我终于把自己耗时一年左右的时间搭建的一个网站终于初步完成了,这个网站就是咸蛋Online,这个从后端到前端都是自己一步一步摸索出来的,对于一个完全不懂前端的人来讲,过程可谓坎坷,借此,把这个过程记录下来,也和大家分享下。自己的文采不是很好,有很多想写但是写不出来的,大家多多包涵。 首先,从技术 ...

【Redis】.Net Core 面试破冰

博主头像 目录1.Redis简介2.使用场景3.C# 具体使用介绍(Nuget)StackExchange.RedisFreeRedisNewLife.RedisServiceStack.Redis (收费)4.Redis 常用面试问题以及回答5.建议及经验分享建议Redis 经验分享ShareFlow 1. ...

.Net单元测试xUnit和集成测试指南(1)

博主头像 引言 在现代化的软件开发中,单元测试和集成测试是确保代码质量和可靠性的关键部分。ASP.NET Core 社区内提供了强大的单元测试框架,xUnit 是其中之一,它提供了简单、清晰和强大的测试功能,编写单元测试有许多优点;有助于回归、提供文档及辅助良好的设计。下面几节我们来深入浅出探讨如何使用 xU ...

Advanced .Net Debugging 6:程序集加载器

一、简介 这是我的《Advanced .Net Debugging》这个系列的第六篇文章。这篇文章的内容是原书的第二部分的【调试实战】的第四章。这章主要讲的是程序集加载器,比如:CLR 加载器简介、简单的程序集加载故障、加载上下文故障、互用性与 DllNotFoundException 和轻量级代码 ...

探索Avalonia:C#跨平台UI框架的力量

博主头像 随着跨平台应用的需求不断增长,开发人员需要一种能够在不同操作系统上运行的用户界面(UI)框架。 Avalonia 是一种引人注目的选择。在本文中,我们将深入了解 Avalonia 是什么,它与 WPF 的区别,以及它的 UI 绘制引擎和原理、优点,以及一个简单的示例代码。 Avalonia 是什么? ...

iNeuOS工业互联网操作系统,“低代码”表单开发应用过程(一)

博主头像 iNeuOS工业互联网操作系统“表单设计”功能经过升级后,能够适用于更多应用场景,从业务上来讲可以扩展设备管理、MES等表单类的管理功能,从技术上来讲可以支持数据库单表应用、多级关联表应用、可以自定义写SQL语句等,现在支持22个基础表单组件、9个高级表单组件。 ...

.NET Emit 入门教程:第六部分:IL 指令:3:详解 ILGenerator 指令方法:参数加载指令

博主头像 本篇教程深入探讨了 ILGenerator 中的参数加载指令,通过详细解释Ldarg、Ldarga、Ldloc和Ldloca等指令的使用,读者能够清晰地认识到Ld指令用于加载参数或本地变量到堆栈,而St指令用于将值从堆栈存储到参数或本地变量中。这些指令为动态方法的生成提供了基础,帮助开发者更好地掌握... ...

Csharp线程

博主头像 CSharpe线程 目录CSharpe线程C#如何操作线程Thread1. Thread如何开启一个线程呢?2. Thread中常见的API3. thread的扩展封装threadpool一、 .NET Framework2.0时代:出现了一个线程池ThreadPool二、线程池如何申请一个线程呢? ...

学习Source Generators之从swagger中生成类

博主头像 前面学习了一些Source Generators的基础只是,接下来就来实践一下,用这个来生成我们所需要的代码。 本文将通过读取swagger.json的内容,解析并生成对应的请求响应类的代码。 创建项目 首先还是先创建两个项目,一个控制台程序,一个类库。 添加swagger文件 在控制台程序中添加F ...

WPF实现树形表格控件(TreeListView)

博主头像 前言 本文将探讨如何利用WPF框架实现树形表格控件,该控件不仅能够有效地展示复杂的层级数据,还能够提供丰富的个性化定制选项。我们将介绍如何使用WPF提供的控件、模板、布局、数据绑定等技术来构建这样一个树形表格。 一、运行效果 1.1默认样式 1.2 自定义样式 二、代码实现 2.1 创建自定义控件( ...

ET8.1(一)简介

博主头像 此系列文章逐个内容讲解ET8.1的新特性。 ET8.1 发布,带来以下新特性: 1. 多线程多进程架构,架构更加灵活强大,多线程设计详细内容请看多线程设计课程 2. 抽象出纤程(Fiber)的概念,类似erlang的进程,非常轻松的创建多个纤程,利用多核,仍然是单线程开发的体验 3. 纤程调度: 主 ...

学习Source Generators之IncrementalValueProvider

博主头像 前面我们使用了IIncrementalGenerator来生成代码,接下来我们来详细了解下IIncrementalGenerator的核心部分IncrementalValueProvider。 介绍 IncrementalValueProvider是基于管道的模式,将我们需要的数据进行处理转换后传递 ...

WPF中封装一个自己的MessageBox

博主头像 前言 在WPF应用程序开发中,我们可以借助其强大灵活的设计能力打造出绚丽而富有创意的用户界面。然而,与这种高度定制化的界面相比,标准MessageBox却显得有些原始和古老。它的外观与现代、绚丽的应用界面格格不入,使得用户在交互中可能感到突兀或不符合预期。 本文将深入探讨如何在WPF中封装自定义Me ...

socket 接收数据时粘包处理 c# winform

博主头像 socket在接收数据时,经常会因为网络延迟、缓存区数据处理不及时等原因造成收到的数据是多个包黏在一起的情况。如下图所示 图中红色框部分是通讯的 心跳包 图中黄色框部分和未框选部分是 两包 数据包 所以可见此时缓存区里面同时存在了一个心跳包,两个数据包 如何分包(此处仅针对几个完整的数据包在一起的情 ...

<1···345···50>