如何从数据库加载 RTF 文本并将其显示在 Datagrid 的数据模板中? WPF C#

问题描述

我正在尝试从数据库加载 RTF 文本并将其显示到自定义 RichTextBox 的数据模板中。 我想获得带有样式的文本,使用代码这件事很简单,但是当我尝试使用 <GridViewDataColumn.CellTemplate> <GridViewDataColumn.CellTemplate/> 时,它变得很困难

  • Xaml 代码:

      <telerik:GridViewDataColumn DataMemberBinding="{Binding document}"  Width="*" x:Name="Description"  IsReadOnly="True">
                  <telerik:GridViewDataColumn.CellTemplate>
                      <DataTemplate >
                          <local:UC_Description  x:Name="richtext">
                          </local:UC_Description>
                      </DataTemplate>
                  </telerik:GridViewDataColumn.CellTemplate>
    
  • C# 代码:

          List= new Controller().GetAll();
    
          foreach (Model item in List)
          {
              RtfFormatProvider provider = new RtfFormatProvider();
              DocumentFormatProvidersManager.RegisterFormatProvider(provider);
              byte[] byteArray = Encoding.ASCII.GetBytes(item.Description);
              document = provider.Import(byteArray);
              FlowDocument flow = new FlowDocument();
    
          }
          GridViewList.ItemsSource = null;
          GridViewList.ItemsSource = List;         
    
    
          this.DataContext = this;
    
    
      }
    
      public RadDocument ImportXaml(string content)
      {
          RtfFormatProvider provider = new RtfFormatProvider();
          return provider.Import(text);
      }
      public string RtfToPlainText(string rtf)
      {
          byte[] byteArray = Encoding.ASCII.GetBytes(rtf);
          var flowDocument = new FlowDocument();
          TextRange tr;
          using (MemoryStream ms = new MemoryStream(byteArray))
          {
    
             tr = new TextRange(flowDocument.ContentStart,flowDocument.ContentEnd);
             tr.Load(ms,DataFormats.Rtf);
          }
    
          return tr.Text;
      }
    

如何在数据模板中显示来自 RTF 内容的文本?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)