我正在處理的應用程序從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