使用自动换行动态添加文本块

问题描述 投票:0回答:1

我的网格中有两列包含复选框。

选中复选框后,我需要在选中的文本块的正下方动态添加一个文本块,以显示其中的附加信息。

我怎样才能做到这一点 ?显然,添加文本块并手动调整其位置将是乏味的,或者文本块最终会被放置在其他控件上。

有没有办法可以动态添加它们并执行控件的自动包装?

c# silverlight dynamic textblock
1个回答
0
投票

很简单,

创建一个画布并将宽度除以所需的文本框控件数,然后创建一个容器,它可以是grid / stackpanel或任何你想要的,

<Grid x:Name="LayoutRoot" Background="White">
<StackPanel Grid.Row="3" Grid.Column="1" Name="split" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto"/>
</Grid>

在后面的代码中,要创建带有文本换行的动态文本块,请执行以下操作,

    TextBlock b = new TextBlock();
    b.VerticalAlignment = System.Windows.VerticalAlignment.Top;
    b.FontSize = 28;
    b.TextWrapping = TextWrapping.Wrap;
    b.Width = 430;
    b.Text = "Hello World!";
    split.Children.Add(b);
© www.soinside.com 2019 - 2024. All rights reserved.