# IAppearanceService interface

Lists the appearance choices an application offers and applies the chosen one.

```csharp
public interface IAppearanceService : INotifyPropertyChanged
```

## Members

| name | description |
| --- | --- |
| [Densities](IAppearanceService/Densities.md) { get; } | The layout densities on offer, from the most compact to the most spacious. Empty when the current theme has no densities. |
| [Palettes](IAppearanceService/Palettes.md) { get; } | The colour palettes on offer. Empty when the current theme has no palettes. |
| [SelectedDensity](IAppearanceService/SelectedDensity.md) { get; set; } | The chosen density. Assigning it resizes the controls of the running application at once: paddings, row heights and the like follow the density, the colours do not change. |
| [SelectedPalette](IAppearanceService/SelectedPalette.md) { get; set; } | The chosen palette. Assigning it recolours the running application at once. |
| [SelectedTheme](IAppearanceService/SelectedTheme.md) { get; set; } | The chosen variant. Assigning it recolours the running application at once. |
| [Themes](IAppearanceService/Themes.md) { get; } | The light/dark variants on offer, normally the system default plus an explicit light and dark. |

## Remarks

Meant to be bound straight to a selector — a ribbon gallery, a combo box, a menu: assigning [`SelectedTheme`](./IAppearanceService/SelectedTheme.md) or [`SelectedPalette`](./IAppearanceService/SelectedPalette.md) applies the change immediately, so a view model needs no code of its own beyond exposing this service.

Which palettes and densities exist depends on the theme in use; a theme that offers neither simply reports empty [`Palettes`](./IAppearanceService/Palettes.md) and [`Densities`](./IAppearanceService/Densities.md) lists.

## See Also

* namespace [Eremex.AvaloniaUI.Controls.ApplicationServices](./index.md)

<!-- DO NOT EDIT: generated by xmldocmd for Eremex.Common.Contracts.dll -->
