2013-11-12 3 views
1

Я использую этот код, чтобы написать TextBlock в C# на Xaml PageДобавить TextBlock в StackPanel в C#

Sale.Name = "Price"; 
    Sale.Text = "$200"; 
    deatilLayout.Children.Add(Sale); 
    Grid.SetRow(Sale, 1); 

это просто сделать текст "$ 200" появится на этой странице.

Как разместить этот текстовый блок в стеке в строке 2 сетки?

Смотри ниже alyout страницы и где я хочу, чтобы TextBlock

<Grid x:Name="deatilLayout"> 
    <Grid.RowDefinitions> 
      <RowDefinition Height="140"/> 
      <RowDefinition Height="*"/> 

    </Grid.RowDefinitions> 

    <Grid Grid.Row="1" Margin="50 0 0 30" Height="600" Width="1200"> 
           <Grid.ColumnDefinitions> 
            <ColumnDefinition Width="*"/> 
            <ColumnDefinition Width="*"/> 
           </Grid.ColumnDefinitions> 
     <Image x:Name="image" Source="{Binding Image}"/> 
     <StackPanel Orientation="Vertical" Grid.column="1"> 
     <TextBlock Text="{Binding Title}" FontSize="52" TextWrapping="Wrap" /> 
     **//Place textblock from C# here** 
     </StackPanel> 
     </Grid> 
</Grid> 

ответ

3

Просто добавьте его в StackPanel, прежде чем добавить его в сетку.

StackPanel sp = new StackPanel(); 
sp.Children.Add(Sale); 
deatilLayout.Children.Add(sp); 
Grid.SetRow(sp, 2); 
+0

По-прежнему возникает проблема с позиционированием. См. Отредактированный код выше. – Tester

+0

Я ничего не вижу под именем 'deatilLayout', что вы тоже добавляете? –

+0

'detailLayout' - это имя главной сетки – Tester

1

Дайте StackPanel имя:

<StackPanel Name="MyStackPanel"> 
    ... 
</StackPanel> 

Затем в коде, просто добавить на него управление:

Sale.Name = "Price"; 
Sale.Text = "$200"; 
MyStackPanel.Children.Add(Sale); 

Это делает предположение о том, что этот код будет в код-код XAML.

+0

Да, это код, расположенный за Xaml. Но когда я пытаюсь это сделать, я получаю эту ошибку на 'price': Error' Название «цена» не существует в текущем контексте. – Tester

+0

Вы написали '' в своем xaml? –

+0

В моем ответе выше ничего не называется «цена». Существует элемент управления типа 'StackPanel' с именем' MyStackPanel' и переменная в коде позади 'Sale', которая содержит некоторый элемент управления, который добавляется к свойству' Children' 'MyStackPanel'. – Steve

Смежные вопросы