【问题标题】:silverlight for wp7: TextBlock: text with different text-align in same linewp7的silverlight:TextBlock:同一行中具有不同文本对齐的文本
【发布时间】:2012-01-16 03:30:14
【问题描述】:

我想要一个 TextBlock 元素,它包含两个单独的字符串,都在一行中。一个与 TextBlock 的左边缘对齐,一个与右边缘对齐。

在 HTML 和 CSS 中,我会这样做:

<div id="TextBlock">
  <span style="float:left;display:block">align:left</span>
  <span style="float:right;display:block">align:right</span>
  <span style="clear:both"></span>
</div>

这里的文本 align:rightalign:left 都显示在同一行中。

是否也可以在 XAML 中执行此操作?

【问题讨论】:

  • 你试过了吗?如果您将两个 TextBlocks 放入具有所需文本对齐方式的 Grid 容器中,它应该可以工作。
  • 所以我将在一个网格字段中有两个文本块?好的,没试过……
  • 这当然很简单,它不会处理重叠。如果您想要正确的布局,则必须按照@Ku6opr 的回答指定列。
  • 是的,没错!我没有重叠,所以这对我来说非常好

标签: silverlight windows-phone-7


【解决方案1】:

TextBlocks 放入Grid 控件中,放入不同的Columns。如果Grid 宽度小于TextBlocks 总宽度,您必须指定TextBlocks 将如何修剪。为此设置Auto*number* 以不同的组合:

 <Grid>
      <Grid.ColumnDefinitions>
           <ColumnDefinition Width="2*" />
           <ColumnDefinition Width="1*" />
      </Grid.ColumnDefinitions>
      <TextBlock Grid.Column="0" Text="text1" TextAlignment="Left" />
      <TextBlock Grid.Column="1" Text="text2" TextAlignment="Right" />
 </Grid>

【讨论】:

    【解决方案2】:

    jv42 的评论回答对我来说效果很好:

    你试过了吗?如果您将两个 TextBlocks 放入具有所需文本对齐方式的 Grid 容器中,它应该可以工作。 – jv42

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-05
      • 2021-04-23
      • 2017-08-22
      • 2017-12-26
      • 1970-01-01
      • 2021-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多