0

Я пытаюсь центрировать цифру в ViewBox, и я получаю чрезвычайно разочаровывающие результаты. Я пытался центровки его с помощью TextAlignment, HorizontalAlignment, VerticalAlignment и т.д ... Когда я получаю одну цифру правильно центрировать (например, 3) другой смещена от центра (например, 4):Нечетное выравнивание TextBlock в ViewBox

enter image description here

Как вы можете видеть, что я использую следующие:

<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> 

Каждый знает, почему центрирование так сложно ???

ответ

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 или около того.

+0

Это немного лучше не идеально. Кажется, что шрифт вызывает проблемы. Я буду играть с вашим ответом и попытаться получить правильные поля/отступы. Спасибо! – Maximus

+0

IT работал! Спасибо XAMeLi! – Maximus