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

时间:2014-02-20 14:44:46

标签: c# silverlight dynamic textblock

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

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

我该怎么做?显然,添加文本块并手动调整其位置将非常繁琐,或者文本块最终会被放置在其他控件上。

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

1 个答案:

答案 0 :(得分: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);