Theme

WidgetReferencesSince v2.12
[Handler(Theme.IHandler)] public class Theme : Widget
Represents a visual theme that can be applied to the application.
Remarks: Themes control the overall visual appearance of the application, such as light or dark mode. Use Application.Theme to get or set the active theme, and Themes to enumerate available themes.

Constructors

Theme

#
public Theme(IHandler handler)
Initializes a new instance of the Theme class with the specified handler.

Properties

ControlObject

public object ControlObject { get; }
Gets the instance of the platform-specific object
inherited fromWidget
Remarks: This can sometimes be useful to get the platform-specific object. Some handlers may not have any backing object for its functionality, so this may be null. It is more preferred to use the Widget.Handler and cast that to the platform-specific handler class which can give you additional methods and helpers to do common tasks. For example, the Application object's handler for OS X has a AddFullScreenMenuItem property to specify if you want full screen support in your app.

Handler

public object Handler { get; }
Gets the platform-specific handler for this widget
inherited fromWidget

IsDisposed

public bool IsDisposed { get; }
Gets or sets a value indicating whether this Widget has been disposed.
inherited fromWidget
Remarks: When the widget is disposed, it can no longer be used.
true if this instance has been disposed; otherwise, false.

NativeHandle

public nint NativeHandle { get; }
Gets the native platform-specific handle for integration purposes
inherited fromWidget

Platform

public Platform Platform { get; }
Gets the platform that was used to create the Widget.Handler for this widget
inherited fromWidget
Remarks: This gets set to the current Platform.Instance during the construction of the object

Properties

public PropertyStore Properties { get; }
Gets the dictionary of properties for this widget
inherited fromWidget

Style

public string Style { get; set; }
Gets or sets the style of this widget
inherited fromWidget
Remarks: Styles allow you to attach custom platform-specific logic to a widget. In your platform-specific assembly, use Add{H} to add the style logic with the same id.
// in your UI
var control = new Button { Style = "mystyle" };

// in your platform assembly
using Eto.Mac.Forms.Controls;

Styles.AddHandler<ButtonHandler>("mystyle", handler => {
	// this is where you can use handler.Control to set properties, handle events, etc.
	handler.Control.BezelStyle = NSBezelStyle.SmallSquare;
});

ThemeStyle

#
public ThemeStyle ThemeStyle { get; }
Gets the style category of the theme (System, Light, or Dark).

Methods

Dispose

protected virtual void Dispose(bool disposing)
Handles the disposal of this widget
inherited fromWidget
disposing (bool)True if the caller called Widget.Dispose() manually, false if being called from a finalizer

Equals

#
public override bool Equals(object obj)
Determines whether the specified object is equal to the current object.
obj (object)The object to compare with the current object.
true if the specified object is equal to the current object; otherwise, false.
Object.Equals

GetCallback

protected virtual object GetCallback()
Gets an instance of an object used to perform callbacks to the widget from handler implementations
inherited fromWidget
Remarks: The callback should implement the parent class' Widget.ICallback interface so that there only needs to be a single callback for the entire hierarchy. This should return a static instance to avoid having overhead for each instance of your control.
The callback instance to use for this widget

GetHashCode

#
public override int GetHashCode()
Serves as the default hash function.

Initialize

protected void Initialize()
Initializes the widget handler
inherited fromWidget
Remarks: This is typically called from the constructor after all of the logic is completed to construct the object. If your handler interface has the AutoInitializeAttribute set to false, then you are responsible for calling this method in your constructor after calling the creation method on your custom handler.

OnStyleChanged

protected virtual void OnStyleChanged(EventArgs e)
Handles when the Widget.Style is changed.
inherited fromWidget

ToString

#
public override string ToString()
Gets a string that represents the current object with its ID if specified.
A string value indicating the type and ID (if specified) of this widget.
Widget.ToString

Events

Operators

OperationResultDescription
Theme==ThemeboolDetermines whether two Theme instances are equal based on their name and style.
Theme!=ThemeboolDetermines whether two Theme instances are not equal based on their name and style.