2017-11-20 9 views
0

スタックパネルで適切にラベルを配置する方法:は、私がこのような何かを達成しようとしている

enter image description here

あなたはタイトルがある見ることができるように整列されること「これは私が何をしたいです」私が書いた 別のラベル

コード:

 <Grid Width="345" Height="445" Background="White"> 

      <Grid.RowDefinitions> 
       <RowDefinition Height="*" /> 
      </Grid.RowDefinitions> 

      <StackPanel Grid.Row="0" Orientation="Vertical" Margin="10"> 
       <Label Content="How to align this to the left:" /> 
       <StackPanel Grid.Row="1" Orientation="Horizontal" Background="#D9D9D9"> 
        <Label Content="€" FontSize="20" HorizontalAlignment="Center" VerticalAlignment="Center" /> 
        <Label Content="256,00" FontSize="38" FontWeight="Bold" /> 
       </StackPanel> 
      </StackPanel> 

     </Grid> 
</Grid> 

そして、私のコードの結果は次のようになります。気づくことが可能であるとして enter image description here

、ラベルは左に整列されていない、いくつかのパディングか何かがあるように見えます...

そして、また€記号が正しい場所にはありませんが、私はそれが最初の画像の上にありますようにこれを達成しようとしたが、すべて私が..整列の異なる種類(水平、中心)が機能しなかったとしようとした

みんなありがとう 乾杯

+0

まず、 'StackPanel'要素から' Margin'を削除します。ユーロ記号を右に移動する場合は、「Margin」を2番目の「StackPanel」に設定します。あなたのグリッドは 'Row'ではありません。 –

+0

ラベルのパディングを0に設定します。 – mm8

+0

@ mm8これは、上記のタイトルのために私が考えたものですが、別のラベルにある数字と同じ行にあるのでしょうか? –

答えて

0

LabelPadding0に設定するか、TextBlockを使用してください。 TextBlockはLabelよりも軽量で、デフォルト値はPaddingです。

そして、あなたはビットを€の-signを上に移動するMarginプロパティを使用することができます。

<StackPanel Grid.Row="0" Orientation="Vertical" Margin="10"> 
    <TextBlock Text="How to align this to the left:" /> 
    <StackPanel Grid.Row="1" Orientation="Horizontal" Background="#D9D9D9"> 
     <TextBlock Text="€" FontSize="20" HorizontalAlignment="Center" VerticalAlignment="Bottom" 
          Margin="0 0 3 5"/> 
     <TextBlock Text="256,00" FontSize="38" FontWeight="Bold" /> 
    </StackPanel> 
</StackPanel> 
+0

@ Roxy'Pro:有益な回答を投票してください。 – mm8

関連する問題