Devolutions.AvaloniaTheme.DevExpress
2025.7.24
Prefix Reserved
dotnet add package Devolutions.AvaloniaTheme.DevExpress --version 2025.7.24
NuGet\Install-Package Devolutions.AvaloniaTheme.DevExpress -Version 2025.7.24
<PackageReference Include="Devolutions.AvaloniaTheme.DevExpress" Version="2025.7.24" />
<PackageVersion Include="Devolutions.AvaloniaTheme.DevExpress" Version="2025.7.24" />
<PackageReference Include="Devolutions.AvaloniaTheme.DevExpress" />
paket add Devolutions.AvaloniaTheme.DevExpress --version 2025.7.24
#r "nuget: Devolutions.AvaloniaTheme.DevExpress, 2025.7.24"
#:package Devolutions.AvaloniaTheme.DevExpress@2025.7.24
#addin nuget:?package=Devolutions.AvaloniaTheme.DevExpress&version=2025.7.24
#tool nuget:?package=Devolutions.AvaloniaTheme.DevExpress&version=2025.7.24
Custom Avalonia Themes developed by Devolutions
DevExpress Theme [Work in Progress]
This theme is currently based on Avalonia.Themes.Fluent, both as a fallback for any controls not covered yet and as starting point for our (somewhat simplified) style definitions targeting DevExpress Winforms look.
While we are prioritizing controls for Devolutions Remote Desktop Manager, we welcome contributions from the Avalonia community to add more DevExpress-style controls.
- Installation
- Styled Controls
- ✅ Available in the current build
- 🚧 In progress ...
- small improvements & fixes, some code cleanup
- ContextMenu
- SplitButton
- EditableComboBox Custom control
- 🔮 Next on the road map ...
- CalendarDatePicker
Installation
Install the Devolutions.AvaloniaTheme.DevExpress package via NuGet:
Install-Package Devolutions.AvaloniaTheme.DevExpress
or .NET
dotnet add package Devolutions.AvaloniaTheme.DevExpress
In your App.axaml, replace the existing theme (e.g. <FluentTheme />
or <SimpleTheme />
) with the DevExpress theme:
<Application ...>
<Application.Styles>
<StyleInclude Source="avares://Devolutions.AvaloniaTheme.DevExpress/DevExpressTheme.axaml" />
</Application.Styles>
</Application>
Styled Controls
<h3>AdornerLayer</h3> | ||
✅ | <h3>AutoCompleteBox</h3> | |
<img alt="AutoCompleteBox" src="https://github.com/user-attachments/assets/81d2676e-0fe0-4a43-944a-43cf40ec0dd5" style="width: 384px; max-width: 100%;" /> <br /><br /> ➡️ See also EditableComboBox in our custom controls | ||
✅ | <h3>Button</h3> | |
<img src="https://github.com/user-attachments/assets/58571893-927e-4e4a-92b3-7d0b7ced4f68" alt="Button demo" style="width: 182px; max-width: 100%;" /> | ||
<h3>Calendar</h3> | ||
<h3>CalendarButton</h3> | ||
<h3>CalendarDatePicker</h3> | ||
<h3>CalendarDayButton</h3> | ||
<h3>CalendarItem</h3> | ||
<h3>CaptionButtons</h3> | ||
<h3>Carousel</h3> | ||
✅ | <h3>CheckBox</h3> | |
<img src="https://github.com/user-attachments/assets/5faea9f6-3cf9-433f-86f5-fd8f75ad05f6" alt="CheckBox demo" style="width: 810px; max-width: 100%;" /> | ||
✅ | <h3>ComboBox</h3> <h4>ComboBoxItem</h4> | |
<img src="https://github.com/user-attachments/assets/f0e107c0-a4b2-4eec-bc0b-789e0f90cad6" alt="ComboBox demo" style="width: 232px; max-width: 100%;" /> | ||
🚧 | <h3>ContextMenu</h3> | |
✅ | <h3>DataGrid</h3> | |
<img src="https://github.com/user-attachments/assets/409f433f-497b-4747-bf1f-ab81224463fb" alt="DataGrid demo" style="width: 834px; max-width: 100%;" /> <br /><img src="https://github.com/user-attachments/assets/07523a68-18cc-4ed3-9353-00f8ccacce7f" alt="Grouped DataGrid demo" style="width: 936px; max-width: 100%;" /> | ||
<h3>DataValidationErrors</h3> | ||
<h3>DatePicker</h3> | ||
<h3>DateTimePickerShared</h3> | ||
<h3>DropDownButton</h3> | ||
🚧 | <h3>EditableComboBox</h3> (Custom control) | |
<h3>EmbeddableControlRoot</h3> | ||
<h3>Expander</h3> | ||
<h3>FluentControls</h3> | ||
<h3>FlyoutPresenter</h3> | ||
<h3>GridSplitter</h3> | ||
<h3>HeaderedContentControl</h3> | ||
<h3>HyperlinkButton</h3> | ||
<h3>ItemsControl</h3> | ||
<h3>Label</h3> | ||
<h3>ListBox</h3> | ||
<h3>ListBoxItem</h3> | ||
<h3>ManagedFileChooser</h3> | ||
<h3>Menu</h3> | ||
<h3>MenuFlyoutPresenter</h3> | ||
<h3>MenuItem</h3> | ||
<h3>MenuScrollViewer</h3> | ||
<h3>NotificationCard</h3> | ||
✅ | <h3>NumericUpDown</h3> <h4>ButtonSpinner</h4> | |
<img src="https://github.com/user-attachments/assets/57f30484-dd75-452b-9d52-d6b2fce1a1ac" alt="NumericUpDown demo" style="width: 215px; max-width: 100%;" /> <br /><img src="https://github.com/user-attachments/assets/30666c61-2929-427b-9347-ae4e8e4fe2a6" alt="NumericUpDown demo (darkmode)" style="width: 225px; max-width: 100%;" /> | ||
<h3>OverlayPopupHost</h3> | ||
<h3>PathIcon</h3> | ||
<h3>PopupRoot</h3> | ||
<h3>ProgressBar</h3> | ||
<h3>RadioButton</h3> | ||
<h3>RefreshContainer</h3> | ||
<h3>RefreshVisualizer</h3> | ||
<h3>RepeatButton</h3> | ||
✅ | <h3>ScrollViewer</h3> <h4>ScrollBar</h4> | |
<img src="https://github.com/user-attachments/assets/9a431dc0-dcd8-4abd-9a80-360578c2d9be" alt="ScrolBar demo" style="width: 288px; max-width: 100%;" /> <br /><img src="https://github.com/user-attachments/assets/145da20e-dc7e-414a-9831-1b1020d1d9f9" alt="ScrollViewer demo" style="width: 419px; max-width: 100%;" /> | ||
<h3>SelectableTextBlock</h3> | ||
<h3>Separator</h3> | ||
<h3>Slider</h3> | ||
<h3>SplitButton</h3> | ||
<h3>SplitView</h3> | ||
✅ | <h3>TabControl</h3> <h4>TabItem<h4> | |
<img src="https://github.com/user-attachments/assets/21864dbb-1058-4656-99dd-c24fde76d4e4" alt="TabControl demo" style="width: 585px; max-width: 100%;" /> | ||
✅ | <h3>TabPane</h3> (Custom control) | |
<img alt="TabPane" src="https://github.com/user-attachments/assets/9388973f-d286-41d4-83a3-bc56ea2f87a8" style="width: 447px; max-width: 100%;" /> | ||
<h3>TabStrip</h3> | ||
<h3>TabStripItem</h3> | ||
✅ | <h3>TextBox</h3> | |
<img src="https://github.com/user-attachments/assets/9eab4003-be77-488e-9a58-f3ad38e3fe39" alt="TextBox demo" style="width: 322px; max-width: 100%;" /> | ||
<h3>TextSelectionHandle</h3> | ||
<h3>ThemeVariantScope</h3> | ||
<h3>TimePicker</h3> | ||
<h3>TitleBar</h3> | ||
<h3>ToggleButton</h3> | ||
<h3>ToggleSwitch</h3> | ||
<h3>ToolTip</h3> | ||
<h3>TransitioningContentControl</h3> | ||
✅ | <h3>TreeView</h3> <h4>TreeViewItem<h4> | |
<img src="https://github.com/user-attachments/assets/068dbad3-5dd1-45a6-b7d0-80aa3fe70556" alt="TreeView demo" style="width: 368px; max-width: 100%;" /> | ||
✅ | <h3>Window</h3> | |
Controls inherit basic DevEx-specific Fore-/Background & Font styling (or EmbeddableControlRoot) | ||
<h3>WindowNotificationManager</h3> | ||
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- Avalonia (>= 11.2.0)
- Avalonia.Controls.DataGrid (>= 11.2.0)
- Avalonia.Themes.Fluent (>= 11.2.0)
- Devolutions.AvaloniaControls (>= 2025.7.15)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
2025.7.24 | 11 | 7/24/2025 |
2025.7.21 | 14 | 7/21/2025 |
2025.7.15 | 183 | 7/15/2025 |
2025.7.14 | 129 | 7/14/2025 |
2025.6.27 | 188 | 6/27/2025 |
2025.6.10 | 357 | 6/10/2025 |
2025.6.9 | 268 | 6/9/2025 |
2025.5.29 | 224 | 5/29/2025 |
2025.5.2 | 278 | 5/2/2025 |
2025.4.16 | 276 | 4/16/2025 |
2025.4.7 | 293 | 4/7/2025 |
2025.4.1 | 151 | 4/1/2025 |
2025.3.31 | 213 | 3/31/2025 |
2025.3.28 | 138 | 3/28/2025 |
2025.3.20 | 309 | 3/20/2025 |
2025.3.18 | 150 | 3/18/2025 |
See https://github.com/Devolutions/avalonia-extensions/blob/master/src/Devolutions.AvaloniaTheme.DevExpress/CHANGELOG.md
BREAKING: 2025.07.14 - changes to input controls' and `TextBox` layout behaviour (no vertical stretch, no default margins, vertically centered)