[英]TextBlock in StackPanel in Scrollviewer not showing all content
我正在从Web服务中读取文本,并希望在文本块中显示所有文本。 我得到了大约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个字符。 在任何文本块,堆栈面板或任何已定义的内容中都没有限制。
我一定做错了,但我不知道该怎么办。
(是的,我在一个文本块中需要那么多的字符)。
任何建议都是最欢迎的。
您需要调用layoutupdate(); 结束代码后的功能
尝试使用WebBrowser控件。
var webBroswer = new WebBrowser(); webBroswer.NavigateToString(结果);
然后在您的StackPanel'stkpnl'中添加此浏览器控件'webBroswer'。 stkpnl.Children.Add(webBroswer);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.