WPF问题,richtextbox控件能绑定到数据表中的一个字段吗?怎么做? listbox选中当前项的事件是啥呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF问题,richtextbox控件能绑定到数据表中的一个字段吗?怎么做? listbox选中当前项的事件是啥呢?相关的知识,希望对你有一定的参考价值。

listbox里只有SelectionChanged事件用来对选中的当前项进行操作;
RichTextBox 的绑定需要自己写的方法类的,我给你代码吧~
xaml:
<RichTextBox local:RichTextBoxHelper.DocumentXaml="Binding 字段名" />
方法类 RichTextBoxHelper.cs
using System.IO; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; public class RichTextBoxHelper : DependencyObject public static string GetDocumentXaml(DependencyObject obj) return (string)obj.GetValue(DocumentXamlProperty); public static void SetDocumentXaml(DependencyObject obj, string value) obj.SetValue(DocumentXamlProperty, value); public static readonly DependencyProperty DocumentXamlProperty = DependencyProperty.RegisterAttached( "DocumentXaml", typeof(string), typeof(RichTextBoxHelper), new FrameworkPropertyMetadata BindsTwoWayByDefault = true, PropertyChangedCallback = (obj, e) => var richTextBox = (RichTextBox)obj; // Parse the XAML to a document (or use XamlReader.Parse()) var xaml = GetDocumentXaml(richTextBox); var doc = new FlowDocument(); var range = new TextRange(doc.ContentStart, doc.ContentEnd); range.Load(new MemoryStream(Encoding.UTF8.GetBytes(xaml)), DataFormats.Xaml); // Set the document richTextBox.Document = doc; // When the document changes update the source range.Changed += (obj2, e2) => if(richTextBox.Document==doc) MemoryStream buffer = new MemoryStream(); range.Save(buffer, DataFormats.Xaml); SetDocumentXaml(richTextBox, Encoding.UTF8.GetString(buffer.ToArray())); ; ); 呵呵,代码有点乱,不好意思= =
参考技术A 111

以上是关于WPF问题,richtextbox控件能绑定到数据表中的一个字段吗?怎么做? listbox选中当前项的事件是啥呢?的主要内容,如果未能解决你的问题,请参考以下文章

WPF RichTextBox 如何滚动到光标所在位置滚动条操作

2021-08-31 WPF控件专题 RichTextBox 控件详解

WPF RichTextBox 控件常用方法和属性

如何在自定义 wpf 控件上绑定数据网格列的可见性?

将 RTF 文本设置为 WPF RichTextBox 控件

WPF 用户控件将数据绑定到用户控件属性