1

我正在尝试在 Xaml 中做一些非常简单的事情,但找不到解决方案。

希望以这种方式设置 3 列:

  1. 左列:包含一个我想在左边对齐的组合框
  2. 中间栏:不时包含一段文字。显示时,希望它在剩余空间中居中。
  3. 右栏:包含一些我想向右对齐的包装面板。

到目前为止,我已经这样做了:

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>

中间列 Xaml 是:

        <WrapPanel Grid.Column="1">
            <TextBlock Name="UserInfoLogs" Text="{Binding Path=...}" />
        </WrapPanel>

它正确对齐左右列的元素,但在显示居中文本时,它自然对齐到中间列的左侧。

谢谢!

4

1 回答 1

1

你明白了,你只是缺少一种成分;

<Grid>
   <Grid.ColumnDefinitions>
     <ColumnDefinition Width="Auto"/>
     <ColumnDefinition Width="*"/>
     <ColumnDefinition Width="Auto"/>
   </Grid.ColumnDefinitions>

   <TextBlock Text="Left"/>
   <!-- Most of the time just setting the HorizontalAlignment will suffice, 
        except when the TextBlock object is for whatever reason allowed to 
        stretch further than its contents. In which case TextAlignment will 
        align the Text within the Center of itself. -->
   <TextBlock Grid.Column="1" Text="Center" 
              HorizontalAlignment="Center" TextAlignment="Center"/>
   <TextBlock Grid.Column="2" Text="Right"/>

</Grid>

希望这可以帮助。

于 2013-10-25T05:57:01.050 回答