WPF metro扁平化UI控件库:MahApps.Metro

    xiaoxiao2021-03-25  116

    MahApps.Metro 的使用小结。 最近项目中接触到一款metro扁平化样式UI控件库,非常值得推荐。写下这篇博客,希望在总结中能不断提高。同时希望能为读者提供一些帮助~

    一,链接

    官方示例地址 官方控件示例地址 github项目地址


    二,安装

    通过NuGet GUI(右键单击您的项目,点击NuGet包管理中,选择在线和搜索MahApps.Metro)包管理器控制台: PM> Install-Package MahApps.Metro

    三,实现Metro样式

    1,XAML窗体中进行xmlns引用

    xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"

    2,对Window标签进行替换

    <controls:MetroWindow ...

    3,修改窗体cs代码中的继承

    //引用 using MahApps.Metro.Controls; namespace MetroWPF { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : MetroWindow { public MainWindow() { InitializeComponent(); } } }

    4,使用内置的样式App.xaml

    <Application x:Class="MetroWPF.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="MainWindow.xaml"> <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" /> <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" /> <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" /> <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" /> <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources> </Application>

    这样我们就可以实现基本的Metro风格的界面啦。同时抛砖引玉,实现复杂一些的样式。


    四,主题的修改

    /// <summary> /// 设置窗口标题和背景样式 /// </summary> /// <param name="accentName">窗口标题栏样式</param> /// <param name="themeName">背景样式</param> private void ChangeTheme(string accentName, string themeName) { Accent expectedAccent = ThemeManager.Accents.First(x => x.Name == accentName); //"Blue" AppTheme expectedTheme = ThemeManager.GetAppTheme(themeName); //"BaseDark" ThemeManager.ChangeAppStyle(Application.Current, expectedAccent, expectedTheme); }

    五,控件样式修改

    MahApps.Metro可以通过许多内置的样式对控件进行样式修改 举个栗子: 左边:默认按钮样式 右边:圆形按钮样式,按钮中加入Style属性: Style=”{DynamicResource MetroCircleButtonStyle}”

    更多丰富的样式地址可以在官方的示例中找到,这里就不一一列举了~


    六,弹出消息窗口

    this.ShowMessageAsync("标题", "内容", MessageDialogStyle.Affirmative, new MetroDialogSettings() { AffirmativeButtonText = "确定" });

    四个参数分别为标题、内容、按钮类型、按钮的名称。


    本文参考博客:王旭

    转载请注明原文地址: https://ju.6miu.com/read-9107.html

    最新回复(0)