2013-04-08 3 views
5

Ich versuche visuell align die Oberseite des Inhalts von 2 (oder mehr) Blöcke von . Der Inhalt und die Font (Size, Family, Weight) jedes Blocks kann vom Benutzer geändert werden.Vertikal Oberseiten von Textblöcken in WPF

Ich habe versucht, mit den GetCellAscent, GetCellDescent und Funktionen zu spielen, aber die Ergebnisse hängen nur von der Schriftart und nicht vom realen Inhalt ab. Und trotzdem kann ich nicht finden, wie verteilt sich der Unterschied zwischen LineSpacing und Ascent+ Descent oben und unten im Block.

Zum Beispiel habe ich diese Art von Ausgabe erzeugen möchten:

enter image description here

Hilfe?

+0

Kannst du nicht fügen Sie einfach einen 'Vertical = "Top"' zum Textblock-Element? – Deruijter

+0

Sie sollten uns Ihren Code zeigen (xaml in diesem Fall): auf diese Weise ist es einfacher für uns, Ihnen zu helfen –

+0

@Daniele Armanasco: Das ist reiner Code, kein XAML zu zeigen. – user2223898

Antwort

1

Try This .....

<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

Ich war wahrscheinlich nicht klar genug, aber mein Problem ist, den oberen Teil des Blocks "12" mit dem oberen Teil des Blocks "$" (oder "€" oder was auch immer) auszurichten. Und dies für jede Schriftfamilie/Größe/Gewicht ... – user2223898

+0

siehe die bearbeitete Version und ändern Sie die Schriftgröße von Textblock aaa, um die Änderungen zu sehen ... ist es jetzt ri8 ???? – YOusaFZai

+0

(Entschuldigung, so spät zu antworten, ich habe keine Benachrichtigung über die Änderung erhalten) Ich weiß, dass es möglich ist, die beiden Textblockinhalte manuell auszurichten. Aber ich möchte es automatisch machen. – user2223898