【问题标题】:WPF: how centre textBlock in Grid Column if Text is longer that Row widthWPF:如果文本长于行宽,如何在网格列中居中文本块
【发布时间】:2019-03-22 06:51:35
【问题描述】:

我有一个 Grid,每列有 5 列,每列宽度为 160。我想要一个文本块(其宽度比列宽度长)位于窗口的中心顶部(比如说在第 2 列中心(第 3 列),并且超出列宽度的文本部分显示在两者中旁边的行。我尝试了 Horizo​​ntalAlignment="Center"、Canvas、RenderTransformOrigin 和其他我搜索的方式,但不起作用。 提前致谢

【问题讨论】:

  • 您在寻找ColumnSpan
  • @AbinMathew,是的,它解决了我的问题,谢谢!

标签: wpf xaml


【解决方案1】:

我不确定您要问什么,但我认为您希望 TextBlock 在多个列中可见?如果是这样,请将 TextBlock 上的 Grid.ColumnSpan 属性设置为 2。

<Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="160"/>
            <ColumnDefinition Width="160"/>
            <ColumnDefinition Width="160"/>
            <ColumnDefinition Width="160"/>
            <ColumnDefinition Width="160"/>
        </Grid.ColumnDefinitions>

        <TextBlock Grid.Column="2"
                   Grid.ColumnSpan="2"
                   HorizontalAlignment="Center"
                   Text="Hello"/>

</Grid>

【讨论】:

  • 它解决了我的问题,谢谢!它是: Grid.Column="1" Grid.ColumnSapn="3" 位于 5 列的中心
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 2011-07-03
  • 1970-01-01
相关资源
最近更新 更多