Detailed Description
Introduce a new interface, IPluginResourceIncludes, that allows plugins to declare and provide their own Avalonia UI resource dictionaries (themes, styles, control templates, etc.) in a structured way. This would enable the host to automatically discover and merge plugin‑specific UI resources into the application’s theme without requiring manual wiring or duplication.
Context
Currently, plugin developers must either inline their Avalonia resources into the host’s theme or rely on manual includes. This creates friction, makes plugins less portable, and increases the risk of conflicts. By standardizing how plugins declare their Avalonia UI resources, we can:
- Simplify plugin development.
- Ensure consistent theming across plugins.
Possible Implementation
- Define
IPluginResourceIncludes in the core plugin contracts assembly.
- At plugin load time, the host inspects for this interface and merges the provided Avalonia resource dictionaries into the application’s theme.
Target Platform(s)
Detailed Description
Introduce a new interface,
IPluginResourceIncludes, that allows plugins to declare and provide their own Avalonia UI resource dictionaries (themes, styles, control templates, etc.) in a structured way. This would enable the host to automatically discover and merge plugin‑specific UI resources into the application’s theme without requiring manual wiring or duplication.Context
Currently, plugin developers must either inline their Avalonia resources into the host’s theme or rely on manual includes. This creates friction, makes plugins less portable, and increases the risk of conflicts. By standardizing how plugins declare their Avalonia UI resources, we can:
Possible Implementation
IPluginResourceIncludesin the core plugin contracts assembly.Target Platform(s)