2013-04-08 18 views
5

Próbuję wizualnie uzyskać najwyższą zawartość 2 (lub więcej) bloków Text. Zawartość i każdy z bloków może być modyfikowany przez użytkownika.Wyrównaj pionowo bloki bloków tekstu w WPF

Próbowałem grać z funkcjami GetCellAscent, GetCellDescent i GetLineSpacing, ale wyniki zależą tylko od czcionki, a nie od rzeczywistej zawartości. W każdym razie nie mogę znaleźć sposobu, w jaki rozkłada się różnicę między LineSpacing i Ascent+ Descent u góry i na dole bloku.

Na przykład chcę produkować ten rodzaj wyjścia:

enter image description here

pomocy?

+0

Nie możesz po prostu dodać 'VerticalAlignment = "top",' do elementu textblock? – Deruijter

+0

powinieneś pokazać nam swój kod (w tym przypadku xaml): w ten sposób łatwiej nam pomóc –

+0

@Daniele Armanasco: To jest czysty kod, nie ma XAML do pokazania. – user2223898

Odpowiedz

1

Spróbuj to .....

<Grid Width="171" Height="100" Background="Black" Margin="257,78,75,133"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto" /> 
      <ColumnDefinition Width="Auto" /> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition Height="Auto" /> 

     </Grid.RowDefinitions> 

     <TextBlock Name="aaa" Text="12" FontSize="40" HorizontalAlignment="Center" VerticalAlignment="Stretch" Grid.Row="1" FontWeight="Bold" Foreground="White" /> 
     <TextBlock Text="$" HorizontalAlignment="Left" FontSize="20" Grid.Column="1" FontFamily="Euphemia" FontWeight="Bold" Foreground="White" Margin="8,0,72,0" /> 
     <TextBlock Text="00 le Kg" FontSize="15" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Left" Grid.IsSharedSizeScope="True" FontFamily="Euphemia" FontWeight="Bold" Foreground="White"/> 

    </Grid> 
+0

Prawdopodobnie nie byłam wystarczająco jasna, ale moim problemem jest wyrównanie górnej części bloku "12" do górnej części bloku "$" (lub "€" lub cokolwiek innego). A to dla jakiejkolwiek rodziny/rozmiaru/wagi czcionki ... – user2223898

+0

zobacz edytowaną wersję i zmień Rozmiar czcionki z textblock aaa, aby zobaczyć zmiany ... czy teraz jest to ri8 ??? – YOusaFZai

+0

(Przepraszamy za odpowiedź tak późno, nie otrzymałem powiadomienia o zmianie) Wiem, że możliwe jest ręczne wyrównanie zawartości dwóch bloków tekstu. Ale chcę to zrobić automatycznie. – user2223898