编辑
2025-10-09
C#
00

在Windows Forms(WinForm)开发中,常用Label控件来显示只读文本;当我们转向WPF进行开发时,用于显示文本的常用控件则是TextBlockTextBlock是WPF中非常轻量且灵活的文本呈现控件,相比Label而言,TextBlock有更丰富的格式化功能和更好的性能表现。本文将从WinForm到WPF的转型角度,为您介绍TextBlock在WPF中的应用场景和典型用法。


WinForm与WPF之比较

WinForm中的文本显示控件

在WinForm中,如果要在界面上展示文本内容,通常使用以下控件:

  1. Label:用于显示只读文本,几乎无格式化选项,可更改字体、颜色等基本属性
  2. TextBox:可编辑的文本控件,允许用户输入

WPF中的文本显示控件

WPF中可以使用以下控件来显示文本:

  1. TextBlock:轻量级文本显示控件,支持丰富的文本格式化(如RunSpan等)
  2. Label:WPF中也提供了Label控件,但更多是兼容WinForm的用法;Label通常会包含一个ContentPresenter来显示内容

在实际WPF开发中,推荐使用TextBlock实现只读文本的显示,因为它具有更好的可扩展性和渲染性能。

编辑
2025-10-09
C#
00

简介

ScottPlot是一个强大的.NET图表库,可以用来创建各种类型的图表。本文将详细介绍如何使用ScottPlot创建堆叠图(分组柱状图)。

基本实现步骤

nuget 安装ScottPlot.winforms

image.png

1. 创建Plot对象

image.png

首先需要创建一个Plot对象,这是所有图表的基础:

C#
ScottPlot.Plot myPlot = formsPlot1.Plot;

2. 设置调色板

ScottPlot提供了多种内置调色板,这里使用Category10调色板:

C#
ScottPlot.Palettes.Category10 palette = new();
编辑
2025-10-09
C#
00

产品介绍

ADF400L系列多用户电能表支持Modbus TCP协议通信,通过以太网接口可以实现远程数据读取。该系列电表最多支持:

  • 12路三相或36路单相直接接入测量
  • 12路三相互感器接入测量
  • 直接接入和互感器接入的混合测量

通信配置

硬件连接

  • 通信接口:以太网接口(CE功能)
  • 通信协议:Modbus TCP

通信参数设置

通过寄存器配置:

  • 使能CE以太网:地址0x0964,写入1使能
  • 通信协议选择:地址0x0908,写入0选择Modbus协议

数据读取示例

读取三相电压

C#
// 读取三相电压(0.1V) const ushort UA_ADDR = 0x033F; // A相电压 const ushort UB_ADDR = 0x0340; // B相电压 const ushort UC_ADDR = 0x0341; // C相电压 // 读取结果需除以10转换为V double Ua = ReadHoldingRegister(UA_ADDR) / 10.0; double Ub = ReadHoldingRegister(UB_ADDR) / 10.0; double Uc = ReadHoldingRegister(UC_ADDR) / 10.0;
编辑
2025-10-09
C#
00

项目准备

首先需要安装必要的 NuGet 包:

XML
<PackageReference Include="Vosk" Version="0.3.38" /> <PackageReference Include="NAudio" Version="2.2.1" />

image.png

2. 下载语音模型

  1. 访问 Vosk 模型下载页面
HTML
https://alphacephei.com/vosk/models
![](https://secure2.wostatic.cn/static/d7wAiBNg5i631tYeLN4maY/image.png?auth_key=1759958257-VZt3CiMe8rpNVcnYd2frp-0-2520134a849cadfa53ba765ba1f7743a)

2. 下载中文模型 中文 或其他语言模型

image.png 3. 解压模型文件到项目目录下的 Models 文件夹

编辑
2025-10-09
C#
00

简介

WebSocket-sharp 是一个功能强大的 C# WebSocket 库,支持 WebSocket 客户端和服务器端的实现。它具有以下主要特性:

  • 完全支持 RFC 6455 协议规范
  • 支持客户端和服务器端实现
  • 支持消息压缩扩展
  • 支持安全连接(SSL/TLS)
  • 支持 HTTP 认证
  • 支持查询字符串、Origin 头和 Cookies
  • 支持 HTTP 代理服务器连接
  • 支持 .NET Framework 3.5 及更高版本

安装方式

手动构建

  1. 使用 MonoDevelop 打开 websocket-sharp.sln
  2. 构建 websocket-sharp 项目
  3. 将生成的 websocket-sharp.dll 添加到你的项目引用中

NuGet 安装

使用 NuGet Package Manager Console:

PowerShell
PM> Install-Package WebSocketSharp.core

image.png