我想創建多個RichTextBox
來處理Windows Phone上最大尺寸爲的2048px。 我知道有一個scrollable-textblock解決方案。如何在C#中創建一個RichTextBox並測量其大小?
這裏是我的測試代碼:
RichTextBox rtb = new RichTextBox();
rtb.TextWrapping = TextWrapping.Wrap;
rtb.FontSize = (Application.Current.Resources["PhoneFontSizeMedium"] as double?).Value;
rtb.FontFamily = Application.Current.Resources["PhoneFontFamilyNormal"] as FontFamily;
rtb.Width = this.Width;
Run run = new Run();
run.Text = "Hello World.Hello World.Hello World.Hello World.Hello World.";
Paragraph para = new Paragraph();
para.Inlines.Add(run);
rtb.Blocks.Add(para);
double rtbh = rtb.ActualHeight;
BodyPanel.Children.Add(rtb);
BodyPanel
是StackPanel
,應用程序運行正常,然而,ActualHeight
財產總是在調試窗口返回0。
如果我在XAML中定義了一個RichTextBox
並將其內容設置爲C#,則其大小屬性都是正常的。
那麼如何創建純C#中的RichTextBox並獲取其大小的度量?
順便說一句,我找不到2048px限制的任何官方文檔。
你能解決使用此解決方案的問題? http://stackoverflow.com/questions/11325299/custom-richtextbox-control – AndrewJE
恐怕我忽略了這個解決方案。我可以在XAML中使用不可見的RichTextBox來測量它的大小。但是我想知道如果我能用純C#做到這一點。暫時我會堅持這個解決方法。謝謝。 – rox