笔记:简要介绍WPF中FormattedText是什么,主要有什么功能
一、目的:简要介绍WPF中FormattedText是什么,主要有什么功能
FormattedText 是 WPF中的一个类,位于 System.Windows.Media 命名空间中。它用于创建和管理格式化的文本,这些文本可以包含不同的字体、大小、颜色和其他文本属性。FormattedText 类提供了一种灵活的方法来处理复杂的文本布局和渲染。
二、主要功能
1. 文本内容:
• 可以设置和获取文本内容。
2. 字体属性:
• 可以设置字体系列、字体大小、字体样式(如粗体、斜体)等。
3. 文本颜色:
• 可以设置文本的前景色(颜色)。
4. 文本对齐:
• 可以设置文本的对齐方式,如左对齐、右对齐、居中对齐等。
5. 文本装饰:
• 可以添加文本装饰,如下划线、删除线等。
6. 文本测量:
• 可以测量文本的宽度和高度,以便在布局中使用。
三、环境
.NET7+ VS2022
四、示例
以下是一个简单的示例,展示如何使用 FormattedText 类来创建和绘制格式化的文本:
using System.Windows;
using System.Windows.Media;
public void DrawFormattedText(DrawingContext drawingContext)
{
FormattedText formattedText = new FormattedText(
"Hello, WPF!",
System.Globalization.CultureInfo.InvariantCulture,
FlowDirection.LeftToRight,
new Typeface("Verdana"),
32,
Brushes.Black
);
formattedText.TextAlignment = TextAlignment.Center;
formattedText.SetFontWeight(FontWeights.Bold);
formattedText.SetFontStyle(FontStyles.Italic);
formattedText.SetForegroundBrush(Brushes.Blue);
Point origin = new Point(100, 100);
drawingContext.DrawText(formattedText, origin);
}
在这个示例中,我们创建了一个 FormattedText 对象,并设置了文本内容、字体、大小、颜色和对齐方式。然后,我们使用 DrawingContext 的 DrawText 方法将文本绘制到指定的起点位置。
总结
FormattedText 类在 WPF 中提供了强大的文本格式化和渲染功能,使得开发者可以轻松地创建复杂的文本布局和样式。
需要了解的知识点
FormattedText 类 (System.Windows.Media) | Microsoft Learn
DrawingContext Class (System.Windows.Media) | Microsoft Learn
System.Windows.Controls 命名空间 | Microsoft Learn
控件库 - WPF .NET Framework | Microsoft Learn
WPF 介绍 | Microsoft Learn
XAML概述 - WPF .NET | Microsoft Learn
Windows Presentation Foundation 简介 - WPF .NET | Microsoft Learn
使用 Visual Studio 创建新应用教程 - WPF .NET | Microsoft Learn
了解更多
适用于 .NET 8 的 WPF 的新增功能 - WPF .NET | Microsoft Learn
适用于 .NET 7 的 WPF 的新增功能 - WPF .NET | Microsoft Learn
System.Windows.Controls 命名空间 | Microsoft Learn
Reference Source
Sysinternals - Sysinternals | Microsoft Learn
Windows app development documentation - Windows apps | Microsoft Learn
欢迎使用 Expression Blend | Microsoft Learn
https://learn.microsoft.com/zh-cn/dotnet/desktop/wpf/?view=netdesktop-7.0&WT.mc_id=MVP_380318
https://github.com/HeBianGu
HeBianGu的个人空间-HeBianGu个人主页-哔哩哔哩视频