Skip to content

Custom Avalonia Themes developed by Devolutions

License

Notifications You must be signed in to change notification settings

Devolutions/avalonia-themes

Repository files navigation

image

avalonia-themes

Custom Avalonia Themes developed by Devolutions

License: MIT Build Status NuGet Version NuGet Downloads

MacOS Theme [Work in Progress]

(Inspired by @MikeCodesDotNET's earlier draft)

image

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 AppKit macOS look.

While we are prioritizing controls for Devolutions Remote Desktop Manager initially, the goal is to create a theme that helps all of the Avalonia community to bring a native look to their macOS apps.

Installation

Install the Devolutions.MacOS.Avalonia.Theme package via NuGet:

Install-Package Devolutions.MacOS.Avalonia.Theme

or .NET

dotnet add package Devolutions.MacOS.Avalonia.Theme

In your App.axaml, replace the existing theme (e.g. <FluentTheme /> or <SimpleTheme />) with the macOS theme:

<Application ...>
  <Application.Styles>
     <StyleInclude Source="avares://Devolutions.MacOS.Avalonia.Theme/MacOSTheme.axaml" />
  </Application.Styles>
</Application>

Styled Controls

Notes

AdornerLayer

AutoCompleteBox

Button

Buttons demo

ButtonSpinner

Calendar

CalendarButton

CalendarDatePicker

CalendarDayButton

CalendarItem

CaptionButtons

Carousel

CheckBox

CheckBox demo

ComboBox

ComboBox demo ScrollBar not done yet

ComboBoxItem

ContextMenu

DataValidationErrors

DatePicker

DateTimePickerShared

DropDownButton

EmbeddableControlRoot

Expander

FluentControls

FlyoutPresenter

GridSplitter

HeaderedContentControl

HyperlinkButton

ItemsControl

Label

ListBox

ListBoxItem

ManagedFileChooser

Menu

MenuFlyoutPresenter

MenuItem

MenuScrollViewer

NotificationCard

NumericUpDown

OverlayPopupHost

PathIcon

PopupRoot

ProgressBar

RadioButton

RefreshContainer

RefreshVisualizer

RepeatButton

ScrollBar

ScrollViewer

SelectableTextBlock

Separator

Slider

SplitButton

SplitView

TabControl

TabItem

TabControl demo Vertical tabs may still need some work

TabStrip

TabStripItem

TextBox

TextBox demo ScrollBar for multiline text input not done yet

There appears to be no easy way for styling the caret thickness and margin

TextSelectionHandle

ThemeVariantScope

TimePicker

TitleBar

ToggleButton

ToggleSwitch

ToolTip

TransitioningContentControl

TreeView

TreeViewItem

Window

WindowNotificationManager