C# WPF UI框架MahApps切换主题

概述

      本指南将向您介绍MahApps.Metro如何切换主题,所有的MahApps.Metro的主题都包含在单独的资源字典中。

如何使用主题

您可以在以下可用配色方案中进行选择:

"Red", "Green", "Blue", "Purple", "Orange", "Lime", "Emerald", "Teal", "Cyan", "Cobalt", "Indigo", "Violet", "Pink", "Magenta", "Crimson", "Amber", "Yellow", "Brown", "Olive", "Steel", "Mauve", "Taupe", "Sienna"

这些基本主题:

"Light", "Dark"

通过App.xaml使用主题:

最快的方法是在App.xaml中指定主题资源

<Application x:Class="SampleApp"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><!-- MahApps.Metro resource dictionaries. Make sure that all file names are Case Sensitive! --><ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" /><ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" /><!-- Theme setting --><ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/Light.Blue.xaml" /></ResourceDictionary.MergedDictionaries></ResourceDictionary></Application.Resources>
</Application>

08405f7d6e9f8bbc0504c44c644c0f65.png

通过主题管理器使用主题:

MahApps.Metro有一个ThemeManager类,可以使用后台代码更改主题。可以在一行中完成,如下所示:

using ControlzEx.Theming;public partial class SampleApp : Application
{protected override void OnStartup(StartupEventArgs e){base.OnStartup(e);// Set the application theme to Dark.GreenThemeManager.Current.ChangeTheme(this, "Dark.Green");}
}

在与应用程序主窗口不同的窗口上

和MahApps在一样,对于MetroWindow,你可以有不同的主题。主窗口或任何其他MetroWindows将在应用程序中保留指定的主题。

<Controls:MetroWindow.Resources><ResourceDictionary><ResourceDictionary.MergedDictionaries><ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/Dark.Red.xaml" /></ResourceDictionary.MergedDictionaries></ResourceDictionary>
</Controls:MetroWindow.Resources>

您也可以使用TheManager执行此操作,如下所示:

using ControlzEx.Theming;public partial class MainWindow : MetroWindow
{public void MainWindow(){InitializeComponent();// Set the window theme to Dark.RedThemeManager.Current.ChangeTheme(this, "Dark.Red");}
}

创建自定义主题

MahApps的另一个不错的功能。Metro将使用自定义创建的主题或运行时创建的主题。

声明

翻译自:https://mahapps.com/docs/themes/usage#on-a-window-different-to-your-applications-main-window

技术群:添加小编微信并备注进群

小编微信:mm1552923   

公众号:dotNet编程大全    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288744.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网盘搜索插件php源码,百度云网盘搜索引擎 PHP版 v1.0

百度云网盘搜索引擎是一个以PHPMySQL进行开发的网盘搜索引擎源码。百度云网盘搜索引擎运行运行环境 开始之前你需要安装* PHP 5.3.7 * MySQL* Python 2.7 ~* [xunsearch](//xunsearch.com/) 搜索引擎项目的目录结构___大致是这样的--- indexer/ #索引--- spider/ #爬虫--- sql/…

IDC:第一季度全球服务器市场收入下滑4.6% 市场为重大升级做准备

根据IDC全球服务器市场季度追踪报告&#xff0c;2017年第一季度全球服务器市场的厂商收入同比下滑4.6%。整个服务器市场的增长继续放缓&#xff0c;大多数超大规模服务提供商都在等待今年第二季度部署英特尔新的Skylake处理器。高端服务器销售继续拖累整体市场表现&#xff0c;…

最通俗易懂的依赖注入之服务注册与注入

推荐关注「码侠江湖」加星标&#xff0c;时刻不忘江湖事这篇文章是 ASP.NET 6 依赖注入系列文章的第 4 篇&#xff0c;点击上方蓝字可以阅读整个系列。在上一篇文章中&#xff0c;我们讨论了依赖注入的服务容器与服务作用域。接下来&#xff0c;在这篇文章中&#xff0c;我们继…

linux之可视化查看磁盘大小并且删除大文件

1 问题 可视化查看磁盘大小并且删除大文件&#xff0c;之前我一直没有找到好的办法&#xff0c;原谅我的无知。 2 操作 我们直接搜索Disk Usage Analyzer 然后一个一个目的的点击查看&#xff0c;如下图 我们就可以清晰的看到文件占用大小&#xff0c;我们就可以很好的删除了…

php Heredoc应用说明

Heredoc部分实现界面与代码的准分离 我们如下的例子可以了解 Heredoc&#xff1a; <?php $name http://blog.csdn.net/a757291228; echo <<<HRERDOC <html> <head> <title>http://blog.csdn.net/a757291228</title> </head>…

Win10用户远超4亿 Win10 RS2明年年初发布

10月26日晚22:00&#xff0c;微软Win10新品发布会在纽约芝士举行。发布会前&#xff0c;微软宣布目前最新的操作系统Windows 10已经迎来了4亿的用户&#xff0c;Windows 10的使用小时数&#xff0c;已经达到了2000亿&#xff0c;游戏时间也增长了500%。 同时微软还宣布&#xf…

bootstrap导航

HTML <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IE-edge"><!-- 开启IE8渲染模式 --><meta name"viewport" cont…

一个类可以实现多个接口吗_Java入门:基础知识(面向对象:接口)

接着上一篇的基础知识&#xff0c;今天俺们来学习一下&#xff1a;面向对象(万物皆对象)三大特征(封装、继承、多态)接口接口 概述&#xff1a;接口是一种引用数据类型&#xff0c;是方法的集合&#xff0c;接口的内部主要是定义方法&#xff0c;包含常量、抽象方法(JDK7及以…

生成条形码二维码DataMatrix条码.EAN码.39码.交叉25码.UPC码.128码.93码.ISBN码.Codabar等...

1.引用Spire.Barcode在Nuget包中安装Spire.Barcode2.生成条形码//创建 BarcodeSettings对象BarcodeSettings settings new BarcodeSettings();//设置条形类型为EAN-13settings.Type BarCodeType.EAN13;//设置条形码数据settings.Data "58465157484";//使用校检set…

多云战略:企业如何精益求精?

随着为企业用户提供更多的选择和更高的灵活性&#xff0c;多云模式正在开始受到他们的关注。但正如实施一个单一的云部署一样&#xff0c;企业需要为多云计算实施进行精心评估&#xff0c;从而选择正确的云服务供应商。在某些情况下&#xff0c;那些市场的非主流供应商可能会为…

最常用的动态sql语句梳理Mybatis(转)

公司项目中一直使用Mybatis作为持久层框架&#xff0c;自然&#xff0c;动态sql写得也比较多了&#xff0c;最常见的莫过于在查询语句中使用if标签来动态地改变过滤条件了。Mybatis的强大特性之一便是它的动态sql&#xff0c;免除了拼接sql带来的各种麻烦&#xff0c;在开发项目…

用C++实现简单随机二元四则运算

让我们想看看二元四则运算都需要实现什么&#xff1a; &#xff08;1&#xff09; 定制题目数量 &#xff08;2&#xff09; 是否有乘除法 &#xff08;3&#xff09; 题目数值范围 &#xff08;4&#xff09; 加减有无负数 &#xff08;5&#xff09; 除法有无余数 &#xff0…

WireShark抓包之提示Alert Level: Fatal, Description: HandShake Failure

1 问题 ssl协议失败的方法,发了client hello包之后回复server hello包失败 2 分析 对比正常client hello的数据包, 我们点击Client Hello包看下详细信息,如下图 感觉ssl协议版本不对 然后我们修改了apache的配置,让代理服务

java地址映射关系,Spring MVC——基础(简介,使用,地址映射)

“大佬们”嘴中的SSH,SSM框架&#xff0c;我这种小白终于解除到第二个S了&#xff0c;关于Spring MVC框架&#xff0c;根据最近的学习发现&#xff0c;还是有很多不足和需要加强巩固的地方&#xff0c;所以&#xff0c;通过总结博客的方式将Spring MVC再次巩固学习一下。Spring…

scrapy爬取动态网页_scrapy_splash 设置随机请求头

本文为 霾大&#xff1a;scrapy_splash 爬取 js 加载网页初体验​zhuanlan.zhihu.com的补充在上面的文章中我们仅仅是初步完成了 scrapy_splash 的简单使用接下来我们将介绍如何是使得 splash 在 render.html &#xff08;默认&#xff09;访问网页时也能动态调整其请求头等&am…

机器学习模型开发必读:开源数据库最全盘点

开发 AI 和机器学习系统从来没有像现在这样方便。类似于 TensorFlow、Torch 和 Spark 这样的开源工具&#xff0c;在 AI 开发者群体中已是无处不在。再加上亚马逊 AWS、Google Cloud 等云服务带来的海量计算能力&#xff0c;将来使用笔记本电脑来训练 ML 模型或许不再难以想象。…

php之clone 复制对象以及__clone魔术方法

如果错误和不足请给予指出&#xff0c;谢谢~ (⊙&#xff3f;⊙) 在开始使用clone之前我们下先看以下一个小例子&#xff1a; <?php //首先定义一个test一个类 class Testclass {//成员变量是$value1public $value1; } //随后new一个obj1 $obj1 new Testclass(); //复…

C#中使用WeiFenLuo.WinFormsUI.Docking.dll实现窗口停靠效果

很酷的效果&#xff0c;很值得好好去学习的哈。 重置工具箱&#xff1a; 新建一个WinForm程序,项目名称为TestDockPanelControl。选中Form1窗体后选择工具箱--->>新建个添加选项卡命名为WeiFenLuo--->>右键--->>选择项--->>浏览--- >>weiFenLuo.…

使用aspnetcore前后端分离开发,你一定要知道这个。

前言用过Vue单页面应用开发的&#xff0c;一定都知道Vue-router这个路由组件&#xff0c;它支持hash和history两种模式。HTML5 History 模式vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL&#xff0c;于是当 URL 改变时&#xff0c;页面不会重新加载。…

Visual Studio 2015专业版创建Win32控制台应用程序,C,C++源文件

原配的Visual Studio 2015专业版不像之前的版本,在新建项目里面是找不到Win32模板的,那么怎么才能新建Win32项目和Win32控制台应用程序呢?今天我就带大家做一简单介绍。 先看如下图所示: 解决: 1、添加的办法是点击上图所示的新建项目界面的Visual C++下面的Windows,再…