在Windows Forms(WinForm)开发中,常用Label控件来显示只读文本;当我们转向WPF进行开发时,用于显示文本的常用控件则是TextBlock。TextBlock是WPF中非常轻量且灵活的文本呈现控件,相比Label而言,TextBlock有更丰富的格式化功能和更好的性能表现。本文将从WinForm到WPF的转型角度,为您介绍TextBlock在WPF中的应用场景和典型用法。
在WinForm中,如果要在界面上展示文本内容,通常使用以下控件:
Label:用于显示只读文本,几乎无格式化选项,可更改字体、颜色等基本属性TextBox:可编辑的文本控件,允许用户输入WPF中可以使用以下控件来显示文本:
TextBlock:轻量级文本显示控件,支持丰富的文本格式化(如Run、Span等)Label:WPF中也提供了Label控件,但更多是兼容WinForm的用法;Label通常会包含一个ContentPresenter来显示内容在实际WPF开发中,推荐使用TextBlock实现只读文本的显示,因为它具有更好的可扩展性和渲染性能。
ScottPlot是一个强大的.NET图表库,可以用来创建各种类型的图表。本文将详细介绍如何使用ScottPlot创建堆叠图(分组柱状图)。


首先需要创建一个Plot对象,这是所有图表的基础:
C#ScottPlot.Plot myPlot = formsPlot1.Plot;
ScottPlot提供了多种内置调色板,这里使用Category10调色板:
C#ScottPlot.Palettes.Category10 palette = new();
ADF400L系列多用户电能表支持Modbus TCP协议通信,通过以太网接口可以实现远程数据读取。该系列电表最多支持:
通过寄存器配置:
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;
首先需要安装必要的 NuGet 包:
XML<PackageReference Include="Vosk" Version="0.3.38" />
<PackageReference Include="NAudio" Version="2.2.1" />

HTMLhttps://alphacephei.com/vosk/models

2. 下载中文模型 中文 或其他语言模型
3. 解压模型文件到项目目录下的 Models 文件夹
WebSocket-sharp 是一个功能强大的 C# WebSocket 库,支持 WebSocket 客户端和服务器端的实现。它具有以下主要特性:
使用 NuGet Package Manager Console:
PowerShellPM> Install-Package WebSocketSharp.core
