Telerik 如何在文本框中标记文档的原始部分为只读

Telerik 如何在文本框中标记文档的原始部分为只读,telerik,wpf-controls,Telerik,Wpf Controls,我正在从数据库中提取一些Html,并使用HtmlFormatProvider将其导入RadRichTextBox。然后,我将插入符号移动到文档的末尾 我现在想做的是将插入符号(最初加载的文本)之前的所有文本标记为只读,并允许用户在其下方输入文本 但是我需要帮助使用RadRichTextBox中的ReadOnlyRange 有人能告诉我如何保护我的文档的第一部分吗?虽然我已经一个多月了,但我觉得这个问题很有趣,决定尝试一下 最简单的方法是选择要保护的文本并调用InsertReadOnlyRange

我正在从数据库中提取一些Html,并使用HtmlFormatProvider将其导入RadRichTextBox。然后,我将插入符号移动到文档的末尾

我现在想做的是将插入符号(最初加载的文本)之前的所有文本标记为只读,并允许用户在其下方输入文本

但是我需要帮助使用RadRichTextBox中的ReadOnlyRange


有人能告诉我如何保护我的文档的第一部分吗?

虽然我已经一个多月了,但我觉得这个问题很有趣,决定尝试一下

最简单的方法是选择要保护的文本并调用InsertReadOnlyRange方法

MainWindow.xaml:

    <telerik:RadRichTextBox
        x:Name="RichTextBox"
        IsSpellCheckingEnabled="False"
        Loaded="RichTextBox_Loaded" />
    <telerik:HtmlDataProvider
        RichTextBox="{Binding ElementName=RichTextBox}"
        Html="{Binding Html, Mode=TwoWay}" />

MainWindow.xaml.cs

public partial class MainWindow : Window
{
    public string Html { get; set; }

    public MainWindow()
    {
        InitializeComponent();

        this.DataContext = this;

        Html = "<h1>You can't touch this (oh-oh oh oh oh-oh-oh)</h1>";
    }

    private void RichTextBox_Loaded(object sender, RoutedEventArgs e)
    {
        RichTextBox.Document.Selection.SelectAll();
        RichTextBox.InsertReadOnlyRange();
        RichTextBox.Document.Selection.Clear();
    }
}
公共部分类主窗口:窗口
{
公共字符串Html{get;set;}
公共主窗口()
{
初始化组件();
this.DataContext=this;
Html=“你不能碰这个(哦哦哦哦)”;
}
已加载私有void RichTextBox_(对象发送方,RoutedEventArgs e)
{
RichTextBox.Document.Selection.SelectAll();
RichTextBox.InsertReadOnlyRange();
RichTextBox.Document.Selection.Clear();
}
}
有关更多信息,请阅读本文