2012-07-16 9 views
10

私はラベルから少しの仮想キーボードを作ろうとしています。以下は、XAMLで私のキーボードである(しかし、わずか3キー以上で):WPFラベルのテキスト周辺の余白を削除するにはどうすればよいですか?

<StackPanel Orientation="Vertical"> 
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> 
     <Border BorderThickness="1" BorderBrush="DarkGray"> 
      <Label Content="A" FontSize="12" MouseDown="KeyButton_Click" /> 
     </Border> 
     <Border BorderThickness="1" BorderBrush="DarkGray"> 
      <Label Content="B" FontSize="12" MouseDown="KeyButton_Click" /> 
     </Border> 
    </StackPanel> 
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> 
     <Border BorderThickness="1" BorderBrush="DarkGray"> 
      <Label Content="C" FontSize="12" MouseDown="KeyButton_Click" /> 
     </Border> 
    </StackPanel> 
</StackPanel> 

これに伴う問題は、キーボードがよりはるかに大きいことを引き起こして、ラベルのテキストを囲むあまりスペースがあるということですそれが必要です。私が手動でラベルの高さと幅を設定すると、それは(1)フォントの違いを考慮せず、(2)文字の一部が上と下の余白ではなく切り取られます。これらの余白を縮小してテキスト自体とほぼ同じサイズにする方法はありますか?

+2

パディングを0に設定してみましたか? – Vale

+3

OT: 'Label'のテキストのみを使う予定の場合、' Label'の代わりに 'TextBlock'を使います。少ないリソース。 – Silvermind

+0

@ Silvermindありがとう、答えとしてそれを入れよう! – Matt

答えて

10

使用TextBlock 0ではなく

にパディングを設定

+8

これは正しい答えではありません。 'Label'は' TextBlock'と等価ではありません。 'Label.Target'を考えてみましょう... – l33t

+2

これは正しい答えと思われます。 – Batman

+1

@Batman、それはあなたのDataContextがTextBlockによって正しく表示される種類の正しい答えです。私のところは、私が問題を捜した唯一の理由は、私は他の種類があるということでした。 –

28

Labelのは、私は同じ問題を抱えていました。プロパティウィンドウでラベルのプロパティを調べると、ラベルのデフォルトのパディングが5であることがわかりました。これを0に設定すると、そのトリックが実行されました。

+1

ありがとう、これは私のためのトリックでした! :-) –

関連する問題