私が取り組んでいるアプリは、インターネットから情報を取得し、ScrollViewer 内にネストされた StackPanel 内の一連のグリッドにアプリ内で表示します。
私の問題は次のとおりです。アプリはコンテンツの短い要約を表示します。コンテンツをクリックすると、Grid と TextBlock が展開されて残りのコンテンツが表示されますが、TextBlock のサイズを変更しても、切り取られたテキストは表示されません。もともと短すぎてオフ。TextBlock は、C# コードで動的に作成されます。
さらに、重要ではありません: TextBlock からテキストを変更するために必要な完全な高さを取得する方法がわかりません。それがないと、新しいサイズを静的な数値に設定する必要があり、UX を損なうと感じます。私のアプリ。
ありがとう、ジェイス
更新:これは、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>
親 Grid が生成される場所は次のとおりです。
Post grid = new Post() { Margin = new Thickness(0, 0, 0, 5) };
Feed.Children.Add(grid);
grid.layoutPost(oldCount, count--, post, Feed, this);
Grid の高さは layoutPost メソッドで設定され、最終的に 75px になります。Post は Grid を拡張するクラスであり、次のように定義されています。
class Post : Windows.UI.Xaml.Controls.Grid