2012-07-16 34 views
10

Tôi đang cố gắng tạo một bàn phím ảo nhỏ ngoài nhãn. Sau đây là bàn phím của tôi trong XAML (nhưng với hơn chỉ 3 phím):Làm thế nào tôi có thể loại bỏ các lề xung quanh văn bản trong nhãn 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> 

Vấn đề ở đây là có quá nhiều khoảng trống xung quanh văn bản trong nhãn, làm cho bàn phím để được lớn hơn nhiều so với nó cần phải. Nếu tôi đặt chiều cao và chiều rộng của nhãn theo cách thủ công, điều đó sẽ (1) không tính đến sự khác biệt về phông chữ và (2) sẽ cắt một phần của chữ thay vì lề trên và lề trái. Có cách nào khác để thu nhỏ các lề này chỉ bằng cùng kích thước với văn bản không?

+2

Bạn đã thử đặt Padding thành 0? – Vale

+3

OT: nếu bạn chỉ định sử dụng văn bản trong một 'Nhãn', hãy sử dụng' TextBlock' thay vì 'Nhãn'. Ít tài nguyên hơn. – Silvermind

+0

@Silvermind Cảm ơn, hãy đặt câu trả lời đó! – Matt

Trả lời

10

Sử dụng TextBlock thay vì Label

+8

Đây không phải là câu trả lời đúng. 'Nhãn' không tương đương với' TextBlock'. Hãy xem xét 'Label.Target' ... – l33t

+2

Điều này chắc chắn dường như là câu trả lời đúng trong trường hợp này. – Batman

+1

@Batman, nó chỉ là câu trả lời đúng DataContext của bạn là loại được hiển thị chính xác bởi một TextBlock. Về phần tôi, lý do duy nhất tôi giải quyết vấn đề là tôi có loại khác. –

28

Set padding để 0.

tôi đã cùng một vấn đề. Sau khi kiểm tra các thuộc tính của một nhãn trong cửa sổ thuộc tính, tôi phát hiện ra padding mặc định của một nhãn là 5. Đặt nó thành 0 làm thủ thuật.

+1

Cảm ơn bạn, điều này đã làm các trick cho tôi! :-) –

Các vấn đề liên quan