我正在使用此代码将C#中的Textblock写入Xaml页面
Sale.Name = "Price";
Sale.Text = "$200";
deatilLayout.Children.Add(Sale);
Grid.SetRow(Sale, 1);
这只会使页面上显示“200美元”文字。
如何将此文本块放在网格第2行的Stackpanel中?
请参阅下面的页面的alyout以及我想要文本块的位置
<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>
答案 0 :(得分:3)
只需将其添加到StackPanel
,然后再将其添加到网格中。
StackPanel sp = new StackPanel();
sp.Children.Add(Sale);
deatilLayout.Children.Add(sp);
Grid.SetRow(sp, 2);
答案 1 :(得分:1)
为您的StackPanel
命名:
<StackPanel Name="MyStackPanel">
...
</StackPanel>
然后在您的代码中,只需将控件添加到其中:
Sale.Name = "Price";
Sale.Text = "$200";
MyStackPanel.Children.Add(Sale);
这假设这个代码是在XAML的代码隐藏中。