ModernUI教程:創建自定義主題

来源:http://www.cnblogs.com/boyliupan/archive/2016/04/10/5374054.html
-Advertisement-
Play Games

Modern UI WPF包括兩個內置主題(dark與light)。在1.0.3版本,您可以構建自定義的主題。Modern UI應用程式通常有在全局資源字典App.xaml中有如下定義: “/FirstFloor.ModernUI;component/Assets/ModernUI.xaml”字典包... ...


        Modern UI WPF包括兩個內置主題(dark與light)。在1.0.3版本,您可以構建自定義的主題。Modern UI應用程式通常有在全局資源字典App.xaml中有如下定義:

image

        “/FirstFloor.ModernUI;component/Assets/ModernUI.xaml”字典包含了核心WPF控制項(Button鈕,TextBlock、ListBox框等)的Modern UI風格。第二個字典包含畫筆和其他資源的定義。如果你想使用一個自定義主題,你需要用自己的版本替換第二個字典。

創建一個新的主題:

下麵的步驟描述瞭如何創建一個新的主題。
1)確保您已經為Visual Studio 2012安裝了最新的Modern UI for WPF模板擴展。
2)創建一個新的或打開一個已存在的Modern UI項目
3)給您的項目中添加Assets文件件
4)向Assets文件夾添加一個新項。在添加新項對話框中導航到“Visual c#項目>Modern UI for WPF”,並選擇Modern UI主題。將文件重命名為ModernUI.MyTheme並選擇添加dd。
5)打開App.xaml和替換當前主題為新主題;

image

6)編譯並運行這個項目。您的應用程式會展示如下圖類似的新主題;

image

自定義主題:

自定義主題通常是派生dark或light的主題。從一個內置主題的派生出來的主題會自動包含所需的所有資源。所以你需要做的就是覆蓋這些資源,或者你可以選擇不覆蓋內置的主題資源,但這需要你提供新的主題資源。

派生一個內置的主題很簡單,參考dark或者light主題添加一個MergedDictionary 引用;

通過添加以下brush資源到你自定義的主題,所有按鈕將變成紅色的背景:

image

通過添加以下brush資源到你自定義的主題,所有按鈕將變成紅色的背景:

image

請參閱主題資源引用中的主題所需的所有資源的完整概述。

 

傳送門:ModernUI教程:目錄


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先從www.zabbix.com下載rpm包: 接下來我要配置一臺zabbix server,自己監控自己即使服務端又是客戶端,zabbix web gui和zabbix資料庫都放在同一臺主機上,除了第4,5個包不裝外,其他的包都給裝上,為瞭解決某些包的依賴關係還需事先安裝yum -y insta ...
  • 2016-04-07 張超《Linux內核分析》MOOC課程http://mooc.study.163.com/course/USTC-1000029000#/info 一、理解編譯鏈接的過程和ELF可執行文件格式 我給出了一個例子: 第一步:先編輯一個hello.c,如下 vi hello.c 1 ...
  • 在System.Net.Http中,提供了使用Http與遠程伺服器通訊的httpClient,但是裡面都是非同步方法,有時候我們並不需要使用非同步操作。這個時候可以使用如下的方式來進行同步調用。 不阻塞主線程的非同步操作,可以參考:HttpClient介紹。 ...
  • 一、引言 在前一篇博文已經介紹瞭如何使用SignalR來實現聊天室的功能,在這篇文章中,將實現如何使用SignalR來實現發送圖片的功能。 二、實現發送圖片的思路 我還是按照之前的方式來講述這篇文章,首先,讓我們來理清下實現發送圖片功能的思路。 圖片的顯示,除了直接指定圖片的路徑外(這種實現方式也稱 ...
  • 在上一篇我的第一個FluentNHibernate例子的基礎上,我們用上knockoutjs 1用nuget添加knockoutjs包 2用nuget添加json.net包 3..在Index.cshtml中添加 4.添加script在table後面 <script> function ViewMo ...
  • 2個集合合併,有相同的只取中其一個: source code: ...
  • 找到兩個集合中交集部分: source code: ...
  • 在兩個集合中,左邊集合減去右邊集合的元素: source code: ...
一周排行
    -Advertisement-
    Play Games
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...