3

デフォルトのボタンでテキストを垂直方向に中央揃えすることができません (スタイルやテンプレートは使用されていません)

のようなスレッドを見ました

WPF ボタンのテキスト コンテンツが垂直方向に中央揃えされていない

^^少なくともボタン1でテキストの高さを設定していません。

この動作の原因と、ローカリゼーションが導入されたときに効率的に取り除く方法がわからない.

-ve マージンを設定してテキストを正確に揃えることはできますが、別の言語では問題が発生する可能性があります。これは、Default Font Family Expression ブレンドが課しているように見えることに基づく何らかの制限ですか?

これに関するどんな助けも素晴らしいでしょう。些細なことのようですが、この動作の原因についての適切な説明が見つからないようです。

Xaml コードは次のとおりです。

<Window x:Class="TestButton.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <Button Content="ButtonFFAH" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" VerticalContentAlignment="Center"/>
  <Button Content="ButtonAH" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75"
                Margin="80,0,0,0" Height="15.627"  VerticalContentAlignment="Center"/>        
</Grid>

出力

4

2 に答える 2

4

それが内部でどのように機能するかです。さらに制御が必要な場合は、ボタンのコンテンツを文字列だけでなく、よりカスタマイズ可能なもので埋めるだけです。このような:

<Button HorizontalAlignment="Left" VerticalAlignment="Top" Width="75"
        Margin="80,0,0,0" Height="15.627"  VerticalContentAlignment="Center">
     <TextBlock VerticalAlignment="Center">ButtonAH</TextBlock>
</Button>
于 2012-12-19T15:08:18.560 に答える
2

明らかな垂直方向のずれは、あらゆる種類のアクセントやその他の分音記号がフォントの高さ全体に追加されるためです。実際のボタン コンテンツにはそのような文字が含まれていない可能性がありますが、垂直方向の配置ではこれを考慮して、同じ「外側」の配置を持つ他のボタン (同じグリッド行など) との共通のベースライン配置を確保する必要があります。

于 2012-12-19T16:36:41.120 に答える