内容简介:有時候我們還是要寫一些 WinForm 的程式,但是總覺得 WinForm 預設的樣式不夠現代化,如果能像 Web 一樣有 Material Design 的控制項,讓開發者能夠輕鬆做出友善的 UI 介面該有多好,Material Design 是一種視覺語言,可以有很多實作,例如使用 MaterialDesignInXamlToolkit 的前置作業很簡單,建立好 WPF 專案後,只需要三個步驟,即可快速設定好專案。
有時候我們還是要寫一些 WinForm 的程式,但是總覺得 WinForm 預設的樣式不夠現代化,如果能像 Web 一樣有 Material Design 的控制項,讓開發者能夠輕鬆做出友善的 UI 介面該有多好, MaterialDesignInXamlToolkit 這個專案就是讓你開開心心建置優良 UX 的好套件,而且還支援 UWP 和 WPF 兩種框架唷。
Material Design 是一種視覺語言,可以有很多實作,例如 Angular Material 、 Materialize ,這篇講的 MaterialDesignInXamlToolkit 也是一種實作。
快速使用
使用 MaterialDesignInXamlToolkit 的前置作業很簡單,建立好 WPF 專案後,只需要三個步驟,即可快速設定好專案。
步驟 1:使用 NuGet 安裝 MaterialDesignThemes 套件。
這裡你可以 NuGet CLI Install-Package MaterialDesignThemes
進行安裝,或是透過 Visual Studio 的 NuGet Package Manager 搜尋並安裝。
步驟 2:修改 App.xaml
在 Application.Resources
中加入 ResourceDictionary.MergedDictionaries
資源目錄,載入預先建置好的 Material Design 的基本樣式
<ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" /> <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" /> <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.DeepPurple.xaml" /> <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Lime.xaml" /> </ResourceDictionary.MergedDictionaries> </ResourceDictionary>
上面的 MaterialDesignTheme.Light.xaml
提供 Light 樣式,我們可以改成 MaterialDesignTheme.Dark.xaml
來套用 Dark 樣式。
甚至可以修改上面 Primary
和 Accent
,分別代表主要和次要的顏色樣式,裡如上面主要顏色使用 DeepPurple,次要顏色使用 Lime。
預先建置的顏色樣式,可以到 此套件原始碼的這個資料夾中 找到可以套用的顏色檔名。
步驟 3:修改 MainWindow.xaml
在 Window
元素中加入 xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
命名空間,讓你可以開始使用設計好的 Material Design 控制項
這裡除了加入需要的命名空間外,還放了一個 Material Design 卡片的控制項在畫面中。
<Window x:Class="DemoMaterialDesignWpfApp.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:DemoMaterialDesignWpfApp" xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <!-- Material Design Card Component - START --> <materialDesign:Card Padding="32" Margin="16"> <TextBlock Style="{DynamicResource MaterialDesignTitleTextBlock}">My First Material Design App</TextBlock> </materialDesign:Card> <!-- Material Design Card Component - END --> </Grid> </Window>
如此一來就完成了基本設定了,可以按 F5 執行視窗應用程式。
瀏覽可用的控制項
要瀏覽這個套件所提供的所有控制項,除了在此套件的 Github 專案 ButchersBoy/MaterialDesignInXamlToolkit 上看圖片介紹外,你也可以下載原始碼,裡面的 MainDemo.Uwp
和 MainDemo.Wpf
這兩個專案資料夾,就是所有控制項的範例程式,在本機建置一下就可以玩玩看,還可以學一下該控制項的使用方法。
本篇完整範例程式碼請參考 poychang/Demo-Material-Design-WPF-App 。
參考資料:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 100人运维200个数据中心,可以吗?华为可以!
- Windows 上的应用程序在运行期间可以给自己改名(可以做 OTA 自我更新)
- c# – 为什么具有受保护修饰符的函数可以被覆盖并且可以在每个位置访问?
- 可以学习的电脑
- Kubernetes,原来可以如此简单
- go语言可以开发什么?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Egret——HTML5游戏开发指南
张鑫磊 等 / 电子工业出版社 / 2016-3 / 85
《Egret——HTML5游戏开发指南》由浅入深,在讲解游戏开发基础的同时提供众多实战案例供读者学习。《Egret——HTML5游戏开发指南》章节内容包含Egret基础概念及基础图形图像处理方法、网络相关操作、移动设备适配、性能优化、文本动画相关知识、调试技巧、DragonBones骨骼动画系统和P2物理引擎等。通过《Egret——HTML5游戏开发指南》,读者可以了解并掌握HTML5游戏开发技能......一起来看看 《Egret——HTML5游戏开发指南》 这本书的介绍吧!