2009-09-11 34 views
11

Jestem obecnie robi to, ale ja robię coś źle :):Jak zmienić szerokość przycisku w tekst przycisku?

<Style TargetType="{x:Type Button}"> 
     <Setter Property="MinWidth" Value="90" /> 
     <Setter Property="Width" Value="Auto" /> 
    </Style> 

Chcę przyciski mieć pewną minimalną szerokość, ale także, aby ich szerokość poszerzyć, aby dopasować tekst przycisku.

Odpowiedz

14

Należy ustawić właściwość HorizontalAlignment na Center (lub Right lub Left). Przyciski muszą być rozciągane przez panel zawierający.

<Style TargetType="{x:Type Button}"> 
     <Setter Property="MinWidth" Value="90" /> 
     <Setter Property="HorizontalAlignment" Value="Center" /> 
    </Style> 
0

Jeśli wystarczy ustawić MinWidth przycisku i jeśli szerokość tekstu jest większa niż Minimalna szerokość zostanie automatycznie rozwijać, ale w przycisk odwrotnym przypadku będzie to samo z min szerokość

<Style TargetType="{x:Type Button}"> 
     <Setter Property="MinWidth" Value="90" /> 
</Style> 

że wystarczy archiwum do wymaganego wyniku

+0

hmm dlaczego to nie działało ... Czy styl elementu zawierającego element mógł zadziałać z przyciskami? Ciągle się rozciągają, aby wypełnić ... –

+0

Ahhh .. Musiałem dodać: Panele stosu ustawiały je tak, aby rozciągały się, jak sądzę. –

2

Jeśli ustawienie HorizontalAlignment nie działa, sprawdź, czy nie masz ustawić Width - to zapobiegnie przycisk od rozmiaru. Poręczną metodą jest ustawienie właściwości Width na NaN lub ..NaN w zależności od konfiguracji aplikacji (która nigdy nie spowoduje błędu kompilacji).

Powiązane problemy