You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+77-4Lines changed: 77 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,7 @@
10
10
- 🔌 **Extensible** — Inject your own `ISettingDescriptorProvider` or `IPropertyValueAccessor` to override the defaults.
11
11
- 🧭 **Built-in navigation** — Sections are listed in a sidebar tree; clicking navigates directly to the section.
12
12
- 🎯 **Extended Controls** — Built-in support for ColorPicker, DatePicker, TimePicker, NumericUpDown, and more.
13
+
- 🔄 **MVVM Support** — Works seamlessly with CommunityToolkit.Mvvm `[ObservableProperty]` attribute on partial classes.
13
14
14
15
## Installation
15
16
@@ -86,7 +87,52 @@ For AOT support, also add the generator:
86
87
dotnet add package AutoSettingUI.Generator
87
88
```
88
89
89
-
### 2. Define a Settings Model
90
+
### 2. Add Style References (Required for Avalonia/Ursa)
91
+
92
+
> **⚠️ Important:** For Avalonia and Ursa projects, you **must** add the theme style reference to your `App.axaml` file. Without this, the controls will not render correctly.
> **Note:** The source generator automatically detects fields marked with `[ObservableProperty]` and generates UI for the corresponding properties. Field naming conventions (`_fieldName` or `m_fieldName`) are automatically converted to property names (`FieldName`).
191
+
192
+
### 4. Bind the Panel
120
193
121
194
Avalonia:
122
195
@@ -154,7 +227,7 @@ public class MainViewModel
154
227
}
155
228
```
156
229
157
-
### 4. AOT Support (Optional)
230
+
### 5. AOT Support (Optional)
158
231
159
232
For Native AOT or trimming, make sure the generator is referenced by the **app** project. In most cases the generated provider is picked up automatically. If you want to force it (or you see fallback-to-TextBox in AOT), do:
0 commit comments