对于我正在研究的项目,我想创建一个屏幕键盘。所以我喜欢把一个角色放在一个按钮上。但这样做的问题是我无法设置完整尺寸的角色并以按钮为中心。不知何故,在这种情况下,它似乎在角色的上方和下方都有一些空间。
我目前用于按钮的代码是:
<Button Grid.RowSpan="2" HorizontalAlignment="Left" VerticalAlignment="Top" Width="40" Height="40" VerticalContentAlignment="Center">
<Button.Background>
<SolidColorBrush Color="Gray" Opacity="0.3" />
</Button.Background>
<Button.Content>
<Viewbox>
<TextBlock FontSize="40" FontFamily="Monotype Corsiva" Foreground="Red" Text="i" LineHeight="20px" LineStackingStrategy="BlockLineHeight" />
</Viewbox>
</Button.Content>
</Button>
目前的结果是这个;
有人知道如何以完整尺寸显示角色并以按钮为中心吗?
答案 0 :(得分:1)
这将使用按钮自动调整文本大小。
<Viewbox>
<TextBlock Margin="-2,0,0,0"
Padding="0"
FontFamily="Monotype Corsiva"
Foreground="Red"
Text="i"
LineStackingStrategy="BlockLineHeight" />
</Viewbox>
我认为由于您使用的字体,该字符看起来偏离中心。我通过将边距的左值设置为负值来调整位置(即:Margin="-2,0,0,0"
)。
答案 1 :(得分:0)
在这种情况下,你必须在一个按钮中添加一个画布以及一个画布,并使用负边距将其设置为中心,但是你想要它。
<Button Width="30" Height="30">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Canvas Grid.Row="0" Grid.Column="0">
<TextBlock Canvas.Bottom="-22" Canvas.Right="-10" FontSize="35">h</TextBlock>
</Canvas>
</Grid>
</Button>