0

我试图在 ViewBox 中居中放置一个数字,但结果非常令人沮丧。我尝试使用 TextAlignment、Horizo​​ntalAlignment、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>

任何人都知道为什么居中如此困难???

4

1 回答 1

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 左右。

于 2013-11-03T11:26:17.577 回答