WPF RichTextBox-拼写检查不适用于格式化文本
如果我定义一个RichTextBox如下WPF RichTextBox-拼写检查不适用于格式化文本,wpf,richtextbox,spell-checking,Wpf,Richtextbox,Spell Checking,如果我定义一个RichTextBox如下 <RichTextBox SpellCheck.IsEnabled="True"> <FlowDocument /> </RichTextBox> 当我输入作品“Sample”并将前三个字母加粗时,拼写检查器会在单词下面加下划线 文档的源XAML显示RichTextBox正在将单词拆分为两个独立的运行 <Paragraph> <Run FontWeight="Bold" xml:
<RichTextBox SpellCheck.IsEnabled="True">
<FlowDocument />
</RichTextBox>
当我输入作品“Sample”并将前三个字母加粗时,拼写检查器会在单词下面加下划线
文档的源XAML显示RichTextBox正在将单词拆分为两个独立的运行
<Paragraph>
<Run FontWeight="Bold" xml:lang="en-gb">Sam</Run>
<Run xml:lang="en-gb">ple</Run>
</Paragraph>
山姆
ple
如果我用以下模块手动构建文档
<FlowDocument>
<Paragraph>
<Run FontWeight="Bold">Sam</Run>ple
</Paragraph>
</FlowDocument>
样品
拼写检查器成功地传递了这个单词
以前有人见过这个吗?是否有我可以使用的变通方法
谢谢
马特拼写检查器和不同地区似乎存在问题 如果我从这个开始:
<RichTextBox SpellCheck.IsEnabled="True" xml:lang="en-GB">
<FlowDocument />
</RichTextBox>
<RichTextBox SpellCheck.IsEnabled="True">
<FlowDocument />
</RichTextBox>
我可以复制您的错误(通过键入“Sample”并将“Sam”加粗),但不能使用以下命令:
<RichTextBox SpellCheck.IsEnabled="True" xml:lang="en-GB">
<FlowDocument />
</RichTextBox>
<RichTextBox SpellCheck.IsEnabled="True">
<FlowDocument />
</RichTextBox>
有些人也有类似的问题。Microsoft答复:
出现此问题是因为FrameworkElement上的Language属性(因此TextBox/RichTextBox)默认为“en US”,并且您使用的是“en NZ”语言环境。当您在TextBox/RichTextBox中键入文本时,它将位于与XAML中设置的文本不同的语言环境中。拼写检查器不会跨越语言边界,这会导致您看到的行为
拼写检查器和不同的地区似乎有问题 如果我从这个开始:
<RichTextBox SpellCheck.IsEnabled="True" xml:lang="en-GB">
<FlowDocument />
</RichTextBox>
<RichTextBox SpellCheck.IsEnabled="True">
<FlowDocument />
</RichTextBox>
我可以复制您的错误(通过键入“Sample”并将“Sam”加粗),但不能使用以下命令:
<RichTextBox SpellCheck.IsEnabled="True" xml:lang="en-GB">
<FlowDocument />
</RichTextBox>
<RichTextBox SpellCheck.IsEnabled="True">
<FlowDocument />
</RichTextBox>
有些人也有类似的问题。Microsoft答复:
出现此问题是因为FrameworkElement上的Language属性(因此TextBox/RichTextBox)默认为“en US”,并且您使用的是“en NZ”语言环境。当您在TextBox/RichTextBox中键入文本时,它将位于与XAML中设置的文本不同的语言环境中。拼写检查器不会跨越语言边界,这会导致您看到的行为
感谢您的回复和MS页面的链接。这似乎是我等到.Net 4.0的最佳选择。谢谢你的回复和指向MS页面的链接。它似乎是我等到.NET4.0的最佳选择。