0

我需要在 WPF Richtextbox 中对流文档进行一些高级验证,例如:

a)格式只能应用于整个段落 b)不允许跨度 c)这些规则也需要应用于从剪贴板粘贴的文本。

最好的方法是什么?

4

1 回答 1

0

将事件处理程序添加到textchanged事件并应用您需要在那里完成的任何格式。无论文本框中的文本如何更改(通过剪贴板粘贴/从键盘输入),该事件都会触发。

<RichTextbox x:Name="myTextbox" TextChanged="myTextbox_TextChanged"/>

private void myTextbox_TextChanged(object sender, EventArgs e)
{
//Apply formatting here
}

编辑:或者,如果您的文本绑定到某种数据源,您可以在绑定上实现数据验证,这将突出显示红色文本框并确保用户输入所需的输入。

 <RichTextbox x:Name="myTextbox" Text="{Binding TextSource, ValidatesOnExceptions=True}"/>

在 TextSource 属性的设置器中,如果输入的数据不符合您的要求,您将引发异常。

于 2013-05-12T12:13:06.180 回答