This guide will help you start with PixiEditor codebase.
Want to make something cool huh? Great! But first, you need to know a few things.
- PixiEditor is written in C#
- PixiEditor is built in .NET 5 WPF framework
- We use the MVVM design pattern.
Everyone can find something for themselves. From easy things, to hard.
PixiEditor is a complex application, so it's important to follow some rules, to ensure quality and maintainability.
Most important is the MVVM design pattern. Separating UI from logic is crucial. However, we accept some exceptions to that. For example, building simple user controls or dialogs can hold logic in code-behind, building ViewModel is unnecessary, but there is no clear border, it all depends on complexity.
ViewModelMain is considered entry point of program. It is a DataContext to MainWindow, all initialization happens there.
Building a Tool - Covers basics of the tool system.
Toolbars - How they work and how to create them
Undo system - Understanding how to add new undo changes and how do they work