2009-09-11 5 views
11

私は現在、これをやっているが、私は何かが間違っ:)やっている:ボタンの幅を自動調整するにはどうすればいいですか?

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

を私はボタンがいくつかの最小幅を持っているだけでなく、その幅は、ボタンのテキストに合わせて拡張したいです。

答えて

14

あなたがしなければならないことは、Horizo​​ntalAlignmentプロパティをCenter(またはRightまたはLeft)に設定することです。ボタンは、収納パネルによって引き伸ばされている必要があります。リサイズからボタンを防ぐことができます -

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

あなただけのボタンののminWidthを設定し、テキストの幅が最小幅よりも大きい場合に十分であること、それは自動的に拡張しますが、逆の場合にはボタンがあなたの分の幅と同じになり、

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

場合必要な結果にアーカイブ

+0

なぜ、それはうまくいかなかったのですか?要素を含む要素のスタイルがボタンをつぶれていませんか?彼らはまだ埋めるために伸びている... –

+0

ああ..私は追加しなければならなかった:スタックパネルはストレッチするように設定していたと私は信じている。 –

2

HorizontalAlignmentを設定する場合は、あなたがWidthを設定していないことを確認し、機能していません。便利なやり方は、アプリケーションの構成(コンパイルエラーは発生しません)に応じてWidthプロパティをNaNまたは..NaNに設定していることです。

関連する問題