方法 : SystemFonts を使用する
この例では、ボタンをスタイル設定またはカスタマイズするために SystemFonts クラスの静的リソースを使用する方法を示します。
使用例
システム リソースは、システム設定との一貫性のあるビジュアルを作成できるようにするために、いくつかのシステムによって決定される値をリソースおよびプロパティの両方として公開します。 SystemFonts は、システム フォント値を静的プロパティとして含む他、実行時にこれらの値に動的にアクセスするためのリソース キーを参照するプロパティを含むクラスです。 たとえば、CaptionFontFamily は SystemFonts 値であり、CaptionFontFamilyKey は対応するリソース キーです。
XAML では、SystemFonts のメンバーを、静的プロパティまたは動的リソース参照 (キーとして静的プロパティ値を使用) として使用できます。 アプリケーションの実行中にフォント メトリックを自動的に更新する場合は、動的リソース参照を使用します。それ以外の場合は、静的な値参照を使用します。
メモ |
---|
リソース キーの名前は、プロパティ名に "Key" というサフィックスが付いたものになります。 |
静的な値である SystemFonts のプロパティにアクセスして使用し、ボタンのスタイルを設定したり、ボタンをカスタマイズしたりする方法を次の例に示します。 このマークアップの例では、ボタンに SystemFonts 値を割り当てます。
<Button Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="3"
FontSize="{x:Static SystemFonts.IconFontSize}"
FontWeight="{x:Static SystemFonts.MessageFontWeight}"
FontFamily="{x:Static SystemFonts.CaptionFontFamily}">
SystemFonts
</Button>
コードで SystemFonts の値を使用する場合は、静的な値も動的リソース参照も使用する必要はありません。 代わりに、SystemFonts クラスのキー以外のプロパティを使用します。 キー以外のプロパティは静的プロパティのように定義されますが、システムでホストされた WPF の実行時の動作では、リアルタイムでプロパティが再評価され、ユーザーによるシステム値の変更が正しく反映されます。 ボタンのフォント設定を指定する方法を次の例に示します。
Dim btn As New Button()
btn.Content = "SystemFonts"
btn.Background = SystemColors.ControlDarkDarkBrush
btn.FontSize = SystemFonts.IconFontSize
btn.FontWeight = SystemFonts.MessageFontWeight
btn.FontFamily = SystemFonts.CaptionFontFamily
cv1.Children.Add(btn)
Button btncsharp = new Button();
btncsharp.Content = "SystemFonts";
btncsharp.Background = SystemColors.ControlDarkDarkBrush;
btncsharp.FontSize = SystemFonts.IconFontSize;
btncsharp.FontWeight = SystemFonts.MessageFontWeight;
btncsharp.FontFamily = SystemFonts.CaptionFontFamily;
cv1.Children.Add(btncsharp);