我正在从网络服务中读取文本,并希望在文本块中显示所有文本。我得到了大约50%的文字,并且无法弄清楚为什么没有显示其余内容。
这是我的xaml代码:
<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" >
<Grid.Background>
<ImageBrush ImageSource="/Images/bg-body_mail.png" />
</Grid.Background>
<ScrollViewer Name="scrvw">
<StackPanel Name="stkpnl" >
</StackPanel>
</ScrollViewer>
</Grid>
这是我的c#代码:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var client = new WebClient();
string result = "";
client.DownloadStringCompleted += (q, f) =>
{
result = f.Result.Trim();
string[] strArr = null;
char[] splitchar = { '~' };
strArr = result.Split(splitchar);
pagetitle.Text = strArr[0];
int lengte = strArr[1].Length;
int lines = lengte / 40;
stkpnl.Margin = new Thickness(10, 0, 10, 0);
TextBlock txtVerhaal = new TextBlock();
txtVerhaal.Margin = new Thickness(12, 0, 12, 0);
txtVerhaal.TextWrapping = TextWrapping.Wrap;
string text = strArr[1];
text=text.Replace("<p>", "\r\n\r\n");
text = text.Replace("<br />", "\r\n");
text = text.Replace("</p>", "");
txtVerhaal.Text = text;
stkpnl.Children.Add(txtVerhaal);
};
client.DownloadStringAsync(new Uri(url));
}
结果中的字符总数约为7000个字符,但仅显示约3000个字符。任何textblock,stackpanel或其他任何定义都没有限制。
我一定做错了什么,但我无法弄清楚是什么。
(是的,我需要一个文本块中的字符数量)。
欢迎任何建议。
答案 0 :(得分:0)
结束代码后需要调用 layoutupdate(); 函数
答案 1 :(得分:0)
尝试使用WebBrowser控件。
var webBroswer = new WebBrowser(); webBroswer.NavigateToString(结果);
然后添加此浏览器控件&#39; webBroswer&#39;在你的StackPanel&#39; stkpnl&#39;中。 stkpnl.Children.Add(webBroswer);