将列标题添加到 XAML 网格

时间:2021-02-02 14:56:27

标签: xaml

我需要将列标题(标签)放在第 2 列和第 3 列上。对于绑定的值,这些标题不会重复,并且应该只在第 0 行中。我可以添加标签,但它们会为网格中的每一行重复。我只需要它们在顶部。

<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Vertical">
   <TextBox Text="{Binding Column1, StringFormat=c2}" md:HintAssist.Hint="{Binding Payment.Column1}"  client:SelectTextOnFocus.Active="True" Margin="8" MinWidth="150" />
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Vertical" Height="45" Width="80" HorizontalAlignment="Right">
   <TextBox Text="{Binding Column2, StringFormat=c2}" IsReadOnly="True" Margin="8" VerticalAlignment="Bottom" />
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Vertical" Height="45" Width="80" HorizontalAlignment="Right">
   <TextBox Text="{Binding Column3, StringFormat=c2}" IsReadOnly="True" Margin="8" VerticalAlignment="Bottom" />
</StackPanel>
</Grid>

1 个答案:

答案 0 :(得分:0)

  • 添加两个 RowDefinition,将它们的大小设置为“Auto”和“*”。
  • 然后将 Grid.Row = "0" 和相应的 Grid.Column 添加到每个标题中。
  • 通过将 Grid.Row="1" 添加到每个堆栈面板,将所有堆栈面板移动到下一行。