MIT License
StaX is an application built on Avalonia and Fluent Avalonia, designed to load and display plugins with various functionalities. The application utilizes the StaX.Domain
NuGet library, allowing you to easily extend its capabilities by developing your own plugins.
Plugins
folder. StaX will automatically detect and display them.UiState
class from the StaX.Domain
library. This allows you to develop plugins with any functionality and seamlessly integrate them into the main application.Main window of the application:
To run StaX, you will need:
Clone the repository:
git clone https://github.com/Psynapsis/StaX.git
Navigate to the project directory and restore dependencies:
cd StaX
dotnet restore
Build and run the application:
dotnet build
dotnet run
To add a plugin to StaX, follow these steps:
StaX.Domain
package.StaX.Domain.UiState
.Plugins
folder next to the main StaX application.Here’s an example of a simple plugin:
using Avalonia.Markup.Xaml;
using FluentAvalonia.UI.Controls;
using MyStaxPlugin.ViewModels;
using MyStaxPlugin.Views;
using StaX.Domain;
namespace MyStaxPlugin;
public partial class MyState : UiState
{
public override string StateName { get; protected set; } = "MyStaxPlugin";
public override string ToolTip { get; protected set; } = "MyStaxPlugin";
public override Symbol? Icon { get; protected set; } = Symbol.ShareAndroid;
public MyState()
{
StateView = new MyView();
StateViewModel = new MyViewModel();
}
public override void Initialize() => AvaloniaXamlLoader.Load(this);
}
If you'd like to contribute to the development of StaX or create plugins for it, feel free to fork the repository and submit your changes via a Pull Request.
This project is licensed under the MIT License. For more details, see the LICENSE file.