2012-12-19 96 views
1

我需要添加拼寫檢查器文本控件(文本框控件或richtextbox控件)在我的silveright 4(在提升信任模式下的瀏覽器)應用程序。我的應用程序可以加載超過500個編輯控件。它適用於文本框控制,但它沒有拼寫檢查功能。使用RichTextBox導致系統內存異常。RichTextBox與拼寫檢查器silverlight 4

請建議我應該怎麼做才能使用RichTextBox和系統內存異常。 任何其他替代方案是歡迎...

問候

馬迪

+0

爲什麼要加載500個編輯控件?沒有辦法能夠順利進行。我建議改變你的方法,只爲實際編輯的文本加載RichTextBox,而不是一次加載它們。 –

+0

其實我有一個包含250個問題的報告,我們無法使用分頁來顯示(這將是一次很好地顯示10-20個問題)(按照客戶要求)。如果每個問題都有兩個編輯控制,那麼它將導致500個控制單個報告。 – Maddy

+0

好吧,所以實際的_questions_每個都在一個RichTextBox中顯示?然後每個問題都附有評論框?我是否正確地理解你? –

回答

1

這裏有兩個想法:

1.使用,可以連接到一個正常的文本框拼寫檢查
如果您不需要富文本功能,請使用(例如)Telerik RadControls套件中的拼寫檢查器組件。它可以附加到正常的TextBox以及RichTextBox,如本演示中所示:http://demos.telerik.com/silverlight/#SpellChecker/TextBoxes。雖然這不是免費的。

2.使用VirtualizingStackPanel持有疑問/評論
如果需要豐富的文字,你必須改變你的做法。在Silverlight中一次加載這麼多的東西是不可能的。一種選擇是使用VirtualizingStackPanel來容納RichTextBox組件。這樣,只有頁面中可見的控件纔會實際加載。這種方法的問題是每個問題/評論部分必須有一個固定的高度。查看此問題中發佈的代碼示例:
Getting UI virtualization working with ItemsControl in Silverlight

+0

我已經通過了第一個選項(使用可以連接到普通文本框的拼寫檢查器),但是它需要在每個文本框上有一個按鈕,並且不要在錯誤的單詞下面顯示之字形線,並且儘可能第二個選項是關於即使屏幕上沒有顯示控件,radrichtextbox仍會佔用內存。我的應用程序從100 MB內存開始,在應用程序滾動n後逐漸達到1.2 GB – Maddy