有没有办法在 WPF 中使用 Textbox/RichTextBox 和 HTML 格式?
Is there a way to use a Textbox/RichTextBox with HTML formatting in WPF?
我想要一个简单的 TextBox 或一个 RichTextBox 来格式化我的文本。我只需要选项 "bold"、"italic"、"underline" 和字体大小。
我的文本输入和输出需要采用 html 格式,但我无法从 RichTextBox 获取此格式。
有没有一种简单的方法来获得正确的格式?或者还有其他适合我需求的选择吗?
我发现了一篇不错的文章,它提供了一个格式栏,用于通过字体系列、大小、样式等来编辑字体。请参阅此 link,您可以在其中下载源代码:https://elegantcode.com/2010/10/26/create-your-own-format-bar-for-the-wpf-richtextbox/ .还要确保添加对 System.Windows.Controls.Ribbon.dll 的引用。您将在 Visual Studio.
中的“项目”->“添加引用”->“框架”->“程序集”下找到它
至于将生成的格式转换为 HTML,您可以简单地根据用户在代码隐藏的事件处理方法中选择的 UI 元素生成字符串。因此,您可以使用 <b></b>
或 <strong></strong>
标记表示粗体,使用 <i></i>
标记表示斜体,使用 <u></u>
标记表示下划线。然后对于字体系列和字体大小等属性,制作 <style></style>
标签的字符串,并包含 CSS 属性 font-family
和 font-size
.
因为我了解到您将编辑此内容,所以如果您使用 richtextbox,则必须将 html 转换为 xaml 对象,然后再转换回来。
Telerik 提供了执行此操作的控件。这本身就相当昂贵。 Telerik 控件很好,如果其他控件中的功能有用,这将是一个考虑的途径。
您可以改用专为 html 编辑设计的控件。
Smith HTML 编辑器是一个非常古老的 codeplex 项目,但普通的 html 不会改变,我认为代码已包含在内。
我想要一个简单的 TextBox 或一个 RichTextBox 来格式化我的文本。我只需要选项 "bold"、"italic"、"underline" 和字体大小。 我的文本输入和输出需要采用 html 格式,但我无法从 RichTextBox 获取此格式。 有没有一种简单的方法来获得正确的格式?或者还有其他适合我需求的选择吗?
我发现了一篇不错的文章,它提供了一个格式栏,用于通过字体系列、大小、样式等来编辑字体。请参阅此 link,您可以在其中下载源代码:https://elegantcode.com/2010/10/26/create-your-own-format-bar-for-the-wpf-richtextbox/ .还要确保添加对 System.Windows.Controls.Ribbon.dll 的引用。您将在 Visual Studio.
中的“项目”->“添加引用”->“框架”->“程序集”下找到它至于将生成的格式转换为 HTML,您可以简单地根据用户在代码隐藏的事件处理方法中选择的 UI 元素生成字符串。因此,您可以使用 <b></b>
或 <strong></strong>
标记表示粗体,使用 <i></i>
标记表示斜体,使用 <u></u>
标记表示下划线。然后对于字体系列和字体大小等属性,制作 <style></style>
标签的字符串,并包含 CSS 属性 font-family
和 font-size
.
因为我了解到您将编辑此内容,所以如果您使用 richtextbox,则必须将 html 转换为 xaml 对象,然后再转换回来。
Telerik 提供了执行此操作的控件。这本身就相当昂贵。 Telerik 控件很好,如果其他控件中的功能有用,这将是一个考虑的途径。
您可以改用专为 html 编辑设计的控件。
Smith HTML 编辑器是一个非常古老的 codeplex 项目,但普通的 html 不会改变,我认为代码已包含在内。