WPF随笔(一)--UI框架MahApps.Metro的使用

写在前面

使用WPF开发窗体程序有段时间了,这个随笔系列将会记录本人在WPF使用过程中的点点滴滴。

WPF的界面特性

相比较WinForm而言,WPF的界面呈现使用了基于标签的XMAL文件,具备更好的结构化、层次化特性,可以实现很多有趣的UI呈现效果。在市面上有很多优秀的UI库,MahApps.Metro就是其中之一。MahApps.Metro是一款Metro分隔的开源框架,下面分别是浅色和深色主题的示例:
浅色主题
深色主题

如何使用MahApps.Metro

首先创建一个WPF项目,随便写几个控件,先来看看WPF的默认样式。
在这里插入图片描述

在项目上右键选择“管理NuGet程序包”,打开NuGet管理器,搜索并安装MahApps.Metro。
在这里插入图片描述

打开文件App.xaml,添加MappApps.Metro相关的资源字典。

<Application x:Class="WPFDemo.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:WPFDemo"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <!--MahApps.Metro-->
                <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" />
                <!--MahApps.Metro-->
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

修改完成后,重新生成并运行程序就会发现窗体内部的控件样式已经发生了改变。
在这里插入图片描述

但是窗体的样式还是默认样式,要如何修改呢?
打开文件MainWindow.xaml,在文件头部添加MahApps.Metro的引用。
在这里插入图片描述
打开文件MainWindow.xaml.cs,在文件头部添加MahApps.Metro.Controls的引用,同时将MainWindow的基类改为MetroWindow。
在这里插入图片描述
相应的MainWindow.xaml文件中,Window的基类也进行修改。
在这里插入图片描述
保存后重新编译运行,就会看到窗体的样式已经发生改变,完全变成了Metro风格。
在这里插入图片描述

如何使用MahApps.Metro模板

上面的过程说明了如何在WPF项目中使用MahApps.Metro框架,但步骤有点繁琐,有没有更快捷的方法呢?幸运的是,MahApps.Metro提供了快捷的项目模板。模板可以在GitHub的源码包中找到,地址如下:
MahApps.Metro/Visual Studio Templates
下载模板后解压并复制到Visual Studio安装目录,C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE。重新启动VS,新建项目时可以看到在项目类型列表中多了一个“WPF MahApps.Metro Application(.NET45)”的选项。
在这里插入图片描述
点击确定即可直接创建默认样式为Metro风格的WPF项目。

注意:官方源码提供的模板引用的MahApps.Metro类库是低版本的,可以使用NuGet管理器更新到最新版本


后记

MahApps.Metro界面库有很多有趣的控件和样式,比如LeftCommand、RightCommand、Flyout,可以慢慢探索。除了MahApps.Metro,还有DevExpress、MUI之类的UI库。DevExpress是付费的,有更多更丰富的控件,规模较大的项目可以考虑使用;MUI也是一款免费的UI库,但已经很久没有更新了。

  • 18
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值