WPF TextAlignment在Button中的TextBlock中不起作用

时间:2014-10-15 09:45:44

标签: c# wpf

我正在尝试在WPF中创建一个类似亚马逊结帐购物车中的按钮,如下所示:

checkout quantity Button

我的尝试按钮是动态生成的,但它等同于以下XAML

<Button Name="UpDownBtn">
    <Grid >
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="3*"/>
        <ColumnDefinition Width="*"/>
      </Grid.ColumnDefinitions>
      <Grid.RowDefinitions>
        <RowDefinition Height="*" />
      </Grid.RowDefinitions>

      <Viewbox Stretch="Uniform" Grid.Row="0" Grid.Column="0">
        <TextBlock x:Name="numCopiesTxt" Padding="3" FontSize="20">123</TextBlock>
      </Viewbox>
      <Viewbox Grid.Row="0" Grid.Column="1">
        <TextBlock TextAlignment="Right" FontFamily="Marlett" FontSize="20" Text="v"/>
      </Viewbox>
  </Grid>
</Button>

其中Marlett Font中的v代表upAndDown箭头。

然而,无论是否使用Viewbox,TextAlignment="Right"似乎都没有做到(没有双关语)。这是为什么?如下所示

使用Viewbox with view box 没有Viewbox without Viewbox


(更新:请问IGNORE问题#2。这是因为网格的高度设置为Auto,而不是*。上面的XAML不会导致此问题。)

* 2。当ButtonViewbox}添加到Grid时,Button非常大,只有部分内容显示在其指定的网格单元格内;其余的停在网格线上。请注意,Viewbox确实使TextBlock适合于按钮内的网格单元格,但Button不适合其指定的网格单元格。只有使用Viewbox才会发生这种情况。*

谢谢!

0 个答案:

没有答案