我正在处理的应用程序从Internet检索信息,并将其显示在StackPanel内部的一系列网格中,这些网格嵌套在ScrollViewer中。即使调整大小,TextBlock也不会显示文本的其余部分
我的问题是:该应用程序显示内容的简短摘要,其思想是点击内容使网格和TextBlock展开显示其余内容,但调整TextBlock的大小并不显示由于原本太短而被切断的文本。 TextBlock是在C#代码中动态创建的。
此外,但不是至关重要的:我不知道如何从TextBlock中获取完整的所需高度以将其文本更改为,如果没有它,我必须将新大小设置为静态数字,从我的应用程序的用户体验。
谢谢, Jase
更新:这是用于产生将TextBlock的代码:
this.message = new TextBlock()
{
VerticalAlignment = VerticalAlignment.Top,
TextWrapping = TextWrapping.Wrap,
MaxWidth = getWidth()
};
if(post.message != null) { message.Text = post.message; }
更新2:这是创建的StackPanel代码( XAML):
<ScrollViewer Grid.Column="1" Style="{StaticResource MainColumn}" VerticalScrollBarVisibility="Auto" SizeChanged="Feed_SizeChanged">
<StackPanel x:Name="Feed"/>
</ScrollViewer>
这是在产生亲网格:
Post grid = new Post() { Margin = new Thickness(0, 0, 0, 5) };
Feed.Children.Add(grid);
grid.layoutPost(oldCount, count--, post, Feed, this);
网格的高度在layoutPost方法设置,并且在960x75像素结束,邮政是扩展网格的一类,并且在此定义:
class Post : Windows.UI.Xaml.Controls.Grid
我还没有定义TextBlock上的高度,并且包装设置为Wrap。我将用我用来生成TextBlock的代码更新问题。另外,我首先使用了ListView,但是由于我不满意它如何允许用户选择列表项目而改变了它。 – Jase
您可以禁用LV中的选择。您还需要共享托管TextBlocks的面板的代码。 –
TextBlocks的容器只是一个高度设置的网格,包含在ScrollViewer的XAML生成的StackPanel中,除默认属性外没有任何其他内容。 – Jase