WPF 使用 MahApps.Metro, 如何更改MetroWindow标题的字体?
WPF中,在使用 MahApps.Metro后,MetroWindow窗口头部标题的字体默认是大写的;标题显示大写很多时候不是实际需要的,那怎么修改根据XAML输入的内容显示呢,要区分大小写?
在MahApps.Metro中下列的这几个属性可以对标题栏进行设置:
TitleCharacterCasing:使用 CharacterCasing 枚举值更改字符大小写,这属性有三个枚举值可以设置,枚举如下:
Lower | 将键入到 System.Windows.Controls.TextBox 中的字符转换为小写。 |
Normal | 不转换键入到 System.Windows.Controls.TextBox 中的字符。 |
Upper | 将键入到 System.Windows.Controls.TextBox 中的字符转换为大写。 |
TitleForeground: 获取或设置用于标题栏前景的画笔(可以理解为文本字体的颜色)
WindowTitleBrush: 获取或设置用于窗口标题栏的画笔(可以理解为标题栏的背景颜色)
NonActiveWindowTitleBrush: 获取或设置用于窗口非活动标题栏的画笔(可以理解为窗口失去焦点时候,标题栏的背景颜色)
下面看一下示例代码:
<!--使用metro:MetroWindow示例-->
<metro:MetroWindow x:Class="Dump.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:metro="http://metro.mahapps.com/winfx/xaml/controls"
WindowStartupLocation="CenterScreen" WindowState="Normal" ResizeMode="CanMinimize"
Title="MainWindows 测试" IsManipulationEnabled="False" Background="#252526"
Height="400" Width="650" Closing="MetroWindow_Closing" TitleCharacterCasing="Normal"
TitleForeground="Black" WindowTitleBrush="LightBlue" NonActiveWindowTitleBrush="OrangeRed">
</metro:MetroWindow>
效果图:
窗口失去焦点后,效果图:
**************************************************************************************************************