DevExpress WPF附帶30+個自定義設計的應用程序主題,無需修改即可使用這些主題,也可以在免費的WPF 主題設計器應用程序中自定義它們。您可以將每個主題應用於 DevExpress WPF 控件和支持的標準 WPF 控件。
DevExpress技術交流羣4:715863792 歡迎一起進羣討論
當您在應用程序中引用 DevExpress WPF 庫時,該應用程序將應用 Office2019Colorful 主題。 此主題影響所有 DevExpress WPF 控件和支持的標準 WPF 控件,您可以重置應用於標準 WPF 控件的DevExpress主題。
支持的標準控件列表
以下標準 WPF 控件支持 DevExpress WPF 主題。
- System.Windows.Button
- System.Windows.CheckBox
- System.Windows.ComboBox
- System.Windows.ComboBoxItem
- System.Windows.ContextMenu *
- System.Windows.Expander
- System.Windows.GridSplitter
- System.Windows.GroupBox
- System.Windows.Label
- System.Windows.ListBox
- System.Windows.ListBoxItem
- System.Windows.Menu *
- System.Windows.Page
- System.Windows.PasswordBox *
- System.Windows.ProgressBar
- System.Windows.RadioButton
- System.Windows.Controls.Primitives.ScrollBar
- System.Windows.ScrollViewer
- System.Windows.Separator
- System.Windows.Slider
- System.Windows.TabControl
- System.Windows.TabItem
- System.Windows.TextBox
- System.Windows.ToolTip
- System.Windows.TreeView
- System.Windows.TreeViewItem
這些控件僅在 Office2016SE、VS2017、Office2019 和 VS2019 主題中被支持。
應用一個DevExpress主題
將DevExpress主題應用於程序
方法一
打開窗口或用戶控件的智能標籤,展開 ApplicationTheme下拉列表,然後選擇一個主題:
生成的 App.config 文件如下所示:
App.config
... <configSections> <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <section name="DXThemeManager" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral,PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" /> </sectionGroup> </configSections> ... <userSettings> <DXThemeManager> <setting name="ApplicationThemeName" serializeAs="String"> <value>Office2019White</value> </setting> </DXThemeManager> </userSettings> ...
方法二
在應用程序啓動時將 ApplicationThemeHelper.ApplicationThemeName 屬性設置爲主題名稱:
C#
public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { ApplicationThemeHelper.ApplicationThemeName = Theme.MetropolisLightName; base.OnStartup(e); } }
VB.NET
Class Application Protected Overrides Sub OnStartup(e As StartupEventArgs) ApplicationThemeHelper.ApplicationThemeName = Theme.MetropolisLightName MyBase.OnStartup(e) End Sub End Class
您可以將功能區庫主題選擇器添加到應用程序。
將DevExpress主題應用於容器
指定附加的ThemeManager.ThemeName 屬性,您可以將該屬性應用於 DevExpress WPF 控件和支持的 WPF 標準控件。 以下代碼示例將Office2016SEWhite主題應用於ThemedWindow,將 Office2019Black主題應用於GridControl:
XAML
<ThemedWindow ... xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" dx:ThemeManager.ThemeName="Office2016SEWhite"> <dxg:GridControl dx:ThemeManager.ThemeName="Office2019Black"> ... </dxg:GridControl> </ThemedWindow>
重置應用的DevExpress主題
重置主題時,DevExpress WPF主題不再影響標準WPF控件,DevExpress WPF控件的外觀來自內置於控件程序集中的DeepBlue主題。
將應用的DevExpress主題重置爲應用程序
方法一
單擊窗口智能標籤中的“X”按鈕:
XAML
... <userSettings> <DXThemeManager> <setting name="ApplicationThemeName" serializeAs="String"> <value>None</value> </setting> </DXThemeManager> </userSettings> ...
方法二
在應用程序啓動時將ApplicationThemeHelper.ApplicationThemeName屬性設置爲Theme.NoneName:
C#
using DevExpress.Xpf.Core; ... public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { ApplicationThemeHelper.ApplicationThemeName = Theme.NoneName; base.OnStartup(e); } }
VB.NET
Imports DevExpress.Xpf.Core ... Public Partial Class App Inherits Application Protected Overrides Sub OnStartup(ByVal e As StartupEventArgs) ApplicationThemeHelper.ApplicationThemeName = Theme.NoneName MyBase.OnStartup(e) End Sub End Class
重置應用於容器的DevExpress主題
將附加的 ThemeManager.ThemeName 屬性設置爲 None:
XAML
<ThemedWindow ... xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"> <dxg:GridControl dx:ThemeManager.ThemeName="None"> ... </dxg:GridControl> </ThemedWindow>
僅爲標準WPF控件重置DevExpress主題
僅爲具有標準 WPF 控件的容器重置 DevExpress 主題:
- 重置應用主題
- 僅將主題應用於包含 DevExpress WPF 控件的容器。
App.config
... <userSettings> <DXThemeManager> <setting name="ApplicationThemeName" serializeAs="String"> <value>None</value> </setting> </DXThemeManager> </userSettings> ...
MainWindow.xaml
<ThemedWindow ... xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"> <dxg:GridControl dx:ThemeManager.ThemeName="Office2019White"> ... </dxg:GridControl> <ComboBox> ... </ComboBox> </ThemedWindow>
DevExpress WPF擁有120+個控件和庫,將幫助您交付滿足甚至超出企業需求的高性能業務應用程序。通過DevExpress WPF能創建有着強大互動功能的XAML基礎應用程序,這些應用程序專注於當代客戶的需求和構建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件的衍伸產品,還是以數據爲中心的商業智能產品,都能通過DevExpress WPF控件來實現。