2014-02-20 3 views
0

У меня есть две колонки в моей сетке, содержащие флажки.Silverlight: динамически добавлять текстовые блоки с автоматической упаковкой

Когда установлен флажок, мне нужно динамически добавить текстовый блок прямо под тем, который установлен для отображения дополнительной информации для него.

Как это сделать? Очевидно, что добавление текстового блока и настройка его позиции вручную будет утомительным, или текстовый блок будет помещен поверх других элементов управления.

Есть ли способ, который я могу добавить их динамически и выполнить автоматическую упаковку элементов управления?

ответ

0

Это просто,

Создать холст и разделить ширину на количество элементов управления TextBox, которые вы хотите, а затем создать контейнер это может быть сетка/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); 
Смежные вопросы