BoTech.Docs.DesignerForAvalonia 1.1.0 Help

Roadmap for V1.1.x

What I have planned:

The release date will be sometime in the summer of this year.

  • Unfortunately, this implementation phase is taking so long because I am still a student and unfortunately have not yet studied computer science. I am also currently doing my Abitur, which means I have a lot of studying to do and unfortunately have very little time for my projects.

General Overview:

  • Bindings should be supported.

  • PreBuild Assemblies should be loaded of the User Project.

  • All Properties of Controls should be editable.

  • Selecting a Theme for your View.

  • A lot of Bug Fixes

PropertiesView 10 < Todos left 0 Finished

Support for all Namespaces, which are located in the Avalonia namespace or in your Assembly.

  • That means that all Expander of the ControlsCreatorObject has to have the Option to select a class from a custom namespace.

  • It is also necessary to check if the instance of the selected class can be injected in the Property. => Check if Type Cast is possible.

  • In addition, the user should have the option to choose whether he wants to select from a preselected set of classes or whether he wants to select a class from his own or the Avalonia namespace.

    • As a result, a new method has to be created which should determines which classes can be type cast to the given Property Type.

    • This method has to do that for the Avalonia Namespace and for the loaded Assembly.

  • Saving and loading the Config.

  • The settings should be displayed in a message box because the properties view would be too crowded.

Example

  • You can inject all Controls in the Content Property => User has to select which Control he wants to use.

User can not only change all constructors of the selected type but also all properties of the type.

Bindings

  • A button with the AddLink Icon of MaterialUI has to be added to the ControlsCreator Classes Render Methods, which opens a Binding Dialog.

    • In this Dialog the User should select a Property of the Referenced View Model.

      • Backend has to get the Type of the Class and get all possible Properties which are settable and gettable!

    • After checking if the Type is Correct, the button icon has to change to Link Icon of MaterialUI

    • The Color has to change from blue to green too.

HierarchyView 2 Todos left 0 Finished

  • Controls can be moved in the Tree View.

    • Option to move it out of a Parent Control or in another Parent Control

    • Important: Avalonia™ does not like it when you move Controls at runtime => It throws an exception if the parent property was not changed correctly.

TopNavigationView 3 Todos left 0 Finished

  • Option to change the ViewModel of the current View => Combo box which lists all ViewModels which are Located in the YourProject.ViewModels namespace.

  • Better Open Menu => Open Directory Dialog and Message Box.

  • Correct Project loading in the backend. All Paths Views, ViewModels and Assembly.

NEW Views: 5 < Todos left 0 Finished

StyleView or ThemeView

  • Users should be able to select between Themes (FluentUI, SukiUI, MaterialUI, SemiUI) for their views.

  • Selected Theme should be loaded.

  • Helper View to creating Styles (Optional => I am not sure if I can implement it.):

    • Easy Menu for Creating an .axaml Style File. => User should be able to select a Filename.

    • When the user opens an .axaml View he should get a representation of Style settings through an TreeView.

    • Editing, Deleting and creating new Style Setters.

All Views

  • Search bars should be usable

  • More Icons Buttons instead of Buttons with a Text.

Last modified: 23 Januar 2025