我正试图将一个数字居中在ViewBox中,而且我的结果非常令人沮丧。我尝试使用TextAlignment,HorizontalAlignment,VerticalAlignment等对其进行居中...当我得到一个数字正确居中(例如,3)时,另一个数字偏离中心(例如,4):
如您所见,我使用以下内容:
<Border x:Name="bdrMain" Background="#FF0095E2">
<Grid>
<Viewbox Stretch="Uniform">
<Ellipse x:Name="elpRing" Stroke="White" Margin="1" StrokeThickness="0.75" Width="12" Height="12"/>
</Viewbox>
<Viewbox Stretch="Uniform">
<TextBlock x:Name="txtValue" FontFamily="Assets/Fonts/HelveticaNeueLTStd-Th.otf#HelveticaNeueLT Std Thin" Text="3" FontWeight="Thin"/>
</Viewbox>
</Grid>
</Border>
任何人都知道为什么定心这么困难???
答案 0 :(得分:2)
当使用ViewBox这样的东西时,使用大型元素并使视图框缩小尺寸会容易得多。此外,有一个放大(或缩小)一个元素大小的视图框更容易编写(在运行时也更有效)。
试试这个:
<Border x:Name="bdrMain"
Background="#FF0095E2">
<Viewbox>
<Grid>
<Ellipse x:Name="elpRing"
Stroke="White"
StrokeThickness="2"
Width="32"
Height="32" />
<TextBlock x:Name="txtValue"
Margin="1,2,0,0"
FontFamily="Assets/Fonts/HelveticaNeueLTStd-Th.otf#HelveticaNeueLT Std Thin"
Text="3"
FontSize="32"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Grid>
</Viewbox>
</Border>
我的机器上当前没有字体,因此调整文本块上的边距以使其居中。您可以使用椭圆大小的64x64 - 将笔划粗细放大到4,将文本块上的字体大小放大到64或左右。