Skip to main content
Version: 11.0.x

Platform Settings

The PlatformSettings class represents a contract for accessing platform-specific settings and information. Some of these settings might be changed by the user globally in the OS in runtime.

The PlatformSettings can be access through an instance of TopLevel or Window, for more details on accessing TopLevel please visit TopLevel page:

var platformSettings = window.PlatformSettings;

Methods

GetTapSize(PointerType type)

Returns the size of the rectangle around the location of a pointer down that a pointer up must occur within in order to register a tap gesture, in device-independent pixels.

Size GetTapSize(PointerType type);

GetDoubleTapSize(PointerType type)

Returns the size of the rectangle around the location of a pointer down that a pointer up must occur within in order to register a double-tap gesture, in device-independent pixels.

Size GetDoubleTapSize(PointerType type);

GetDoubleTapTime(PointerType type)

Returns the maximum time that may occur between the first and second click of a double-tap gesture.

TimeSpan GetDoubleTapTime(PointerType type);

GetColorValues()

Returns the current system color values, including dark mode and accent colors.

PlatformColorValues GetColorValues();
tip

While build-in FluentTheme supports automatic switching between accent colors, this method is useful to apply custom logic with OS color settings.

Properties

HoldWaitDuration

The duration between pointer press and when the Holding event is fired.

TimeSpan HoldWaitDuration { get; }

HotkeyConfiguration

The configuration for platform-specific hotkeys in an Avalonia application.

PlatformHotkeyConfiguration HotkeyConfiguration { get; }
tip

HotkeyConfiguration is especially useful when application needs to handle well known gestures like Copy, Paste or Cut.

protected override void OnKeyDown(KeyEventArgs e)
{
var hotkeys = TopLevel.GetTopLevel(this).PlatformSettings.HotkeyConfiguration;
if (hotkeys.Copy.Any(g => g.Matches(e)))
{
// Handle Copy hotkey.
}
}

Events

ColorValuesChanged

Raised when current system color values are changed. This includes changes to dark mode and accent colors.

event EventHandler<PlatformColorValues>? ColorValuesChanged;

Use the IPlatformSettings interface to adapt your application's behavior to user-specific platform settings.