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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用自动换行动态添加文本块相关的知识,希望对你有一定的参考价值。

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

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

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

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

答案

很简单,

创建一个画布并将宽度除以所需的文本框控件数,然后创建一个容器,它可以是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);

以上是关于使用自动换行动态添加文本块的主要内容,如果未能解决你的问题,请参考以下文章

使用 HTML 输入在 D3 中进行动态过滤

在文本块列中使用自动换行时数据网格高度太高

如何将行动态添加到表格布局中

使用带有分页和排序的 ajax 将行动态添加到数据表

将行动态添加到同一 HTML 中的 2 个不同表中

将行动态添加到 ListView 中的网格