記事のカテゴリー: C#、.NET9、WPF
アプリのフォントを一括で設定する方法を考えます。
ウィンドウのフォントを設定するとウィンドウ上のコントロールに設定が伝播します。これを利用して、ApplicationのResourcesプロパティでWindowのスタイルを定義して、DynamicResourceを使ってFontFamilyプロパティを設定します。
XAML:
<Application.Resources>
<!-- FontFamily 型のリソースを宣言する -->
<!-- (初期値は SystemFonts.MessageFontFamily) -->
<x:Static x:Key="ApplicationFontFamily" Member="SystemFonts.MessageFontFamily" />
<!-- Window のスタイルで DynamicResource を使って FontFamily を設定する -->
<Style TargetType="Window">
<Setter Property="FontFamily" Value="{DynamicResource ApplicationFontFamily}" />
</Style>
</Application.Resources>
ApplicationのResourcesプロパティで定義したFontFamily型のリソースを置き換えることでアプリのフォントを変更できます。
C#:
// FontFamily 型のリソースを書き換える
Application.Current.Resources["ApplicationFontFamily"] = new FontFamily("Meiryo UI");
0 件のコメント:
コメントを投稿