我需要在silveright 4(在提升的信任模式下浏览器之外)应用程序中添加拼写检查器文本控件(文本框控件或richtextbox 控件)。我的应用程序可以加载超过 500 个编辑控件。它适用于文本框控件,但没有拼写检查功能。使用 RichTextBox 会导致 System out of memory 异常。
请建议我应该怎么做才能在没有系统内存不足异常的情况下使用 RichTextBox。欢迎任何其他选择...
问候
麦迪
我需要在silveright 4(在提升的信任模式下浏览器之外)应用程序中添加拼写检查器文本控件(文本框控件或richtextbox 控件)。我的应用程序可以加载超过 500 个编辑控件。它适用于文本框控件,但没有拼写检查功能。使用 RichTextBox 会导致 System out of memory 异常。
请建议我应该怎么做才能在没有系统内存不足异常的情况下使用 RichTextBox。欢迎任何其他选择...
问候
麦迪
这里有两个想法:
1. 使用可以连接到普通 TextBox 的拼写检查器
如果您不需要富文本功能,请使用(例如)来自Telerik RadControls套件的拼写检查器组件。它可以附加到普通的 TextBox 和 RichTextBox,如本演示所示: http: //demos.telerik.com/silverlight/#SpellChecker/TextBoxes。虽然它不是免费的。
2. 使用 VirtualizingStackPanel 来保存问题/评论
如果您确实需要富文本,则必须改变您的方法。在 Silverlight 中一次加载这么多是不可能的。一种选择是使用 VirtualizingStackPanel 来保存 RichTextBox 组件。这样,实际上只会加载页面中可见的控件。这种方法的问题是每个问题/评论部分必须有一个固定的高度。查看此问题中发布的代码示例:
Getting UI virtualization working with ItemsControl in Silverlight