我正在尝试在WPF中创建一个类似亚马逊结帐购物车中的按钮,如下所示:
我的尝试按钮是动态生成的,但它等同于以下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
没有Viewbox
(更新:请问IGNORE问题#2。这是因为网格的高度设置为Auto
,而不是*
。上面的XAML不会导致此问题。)
* 2。当Button
(Viewbox
}添加到Grid
时,Button非常大,只有部分内容显示在其指定的网格单元格内;其余的停在网格线上。请注意,Viewbox
确实使TextBlock
适合于按钮内的网格单元格,但Button不适合其指定的网格单元格。只有使用Viewbox才会发生这种情况。*
谢谢!