It is a tool that helps to easily implement c# IPropertyChanged and ICommnad, and I made it for study haha.
By adding the [QBinding] attribute to the class, it automatically creates a binding property by adding only a field.
If you do not want the property to be automatically bindable through the field, add the [QNoBinding] attribute to the field.
If you want to make a virtual property that can be automatically bound through the field, add the [QVirtual] attribute to the field.
To add a PropertyChanging or PropertyChanged event, add [QEvent (PropertyChanging = "ChangingEvent()", PropertyChanged = "ChangedEvent()")] to the field