如何在 StackPanel 中垂直和水平显示 TextBlock?
How to display in a StackPanel the TextBlock vertically and horizontally?
我有一个包含一些元素的 ListView。我为每个项目插入一个图像、对象的名称和其中一个属性。
我设置了堆栈面板的水平方向。
左边显示图片,右边是对象名称。
然后我想在名称下方显示 属性,始终在图像右侧。我怎么把StackPanel设置成水平的?
<StackPanel Orientation="Horizontal">
<Image Source="Assets/rsz_1rsz_museumiclip.jpg"/>
<TextBlock Text=""/>
<TextBlock Text="{Binding Path=NomeMuseo}" FontSize="26"/>
<TextBlock Text="{Binding Path=Paese}"/>//THIS IS
</StackPanel>
因为 DockPanel
不是一个选项,所以我会使用 Grid
。它会让你精确地控制那种布局:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Width="Auto"/>
<RowDefinition Width="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Height="Auto"/>
<ColumnDefinition Height="20"/>
</Grid.ColumnDefinitions>
<Image Source="Assets/rsz_1rsz_museumiclip.jpg"/>
<TextBlock Text=""/>
<TextBlock Text="{Binding Path=NomeMuseo}" FontSize="26" Grid.Row="0" Grid.Column="1"/>
<TextBlock Text="{Binding Path=Paese}" Grid.Row="1" Grid.Column="1"/>
</Grid>
或者,您可以按照 ChrisW 的建议使用两个 StackPanels
。设置起来更容易一些,但你会失去一些控制。
<StackPanel Orientation="Horizontal">
<Image Source="Assets/rsz_1rsz_museumiclip.jpg"/>
<StackPanel>
<TextBlock Text="{Binding Path=NomeMuseo}" FontSize="26"/>
<TextBlock Text="{Binding Path=Paese}"/>
</StackPanel>
</StackPanel>
我有一个包含一些元素的 ListView。我为每个项目插入一个图像、对象的名称和其中一个属性。
我设置了堆栈面板的水平方向。
左边显示图片,右边是对象名称。
然后我想在名称下方显示 属性,始终在图像右侧。我怎么把StackPanel设置成水平的?
<StackPanel Orientation="Horizontal">
<Image Source="Assets/rsz_1rsz_museumiclip.jpg"/>
<TextBlock Text=""/>
<TextBlock Text="{Binding Path=NomeMuseo}" FontSize="26"/>
<TextBlock Text="{Binding Path=Paese}"/>//THIS IS
</StackPanel>
因为 DockPanel
不是一个选项,所以我会使用 Grid
。它会让你精确地控制那种布局:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Width="Auto"/>
<RowDefinition Width="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Height="Auto"/>
<ColumnDefinition Height="20"/>
</Grid.ColumnDefinitions>
<Image Source="Assets/rsz_1rsz_museumiclip.jpg"/>
<TextBlock Text=""/>
<TextBlock Text="{Binding Path=NomeMuseo}" FontSize="26" Grid.Row="0" Grid.Column="1"/>
<TextBlock Text="{Binding Path=Paese}" Grid.Row="1" Grid.Column="1"/>
</Grid>
或者,您可以按照 ChrisW 的建议使用两个 StackPanels
。设置起来更容易一些,但你会失去一些控制。
<StackPanel Orientation="Horizontal">
<Image Source="Assets/rsz_1rsz_museumiclip.jpg"/>
<StackPanel>
<TextBlock Text="{Binding Path=NomeMuseo}" FontSize="26"/>
<TextBlock Text="{Binding Path=Paese}"/>
</StackPanel>
</StackPanel>