JSON File Structure.
π‘ Schema Support:
This JSON structure is supported by an IntelliSense schema available at:https://raw.githubusercontent.com/Ghost1372/DevWinUI/refs/heads/main/tools/AppData.Schema.json
1 | { |
You can reference this schema in your JSON files for editor support like autocompletion and validation by adding the following line at the top of your JSON file:
BaseDataInfo
Inherited by DataGroup and DataItem
| Name | Type | Remark |
|---|---|---|
| UniqueId | string | The UniqueId must exactly match the full namespace (including file name) of your .xaml view file (e.g., DevWinUIGallery.Views.HomeLandingPage). |
| SectionId | string | Defines a page as a section in the gallery. Initialize it using .ConfigureSectionPage(typeof(DemoSectionPage)).Make sure to provide the full namespace of the section page, for example:DevWinUIGallery.Views.DemoSectionPageSee example here |
| Title | string | |
| ApiNamespace | string | |
| SecondaryTitle | string | |
| Subtitle | string | |
| Description | string | |
| ImagePath | string | Defines the image source shown on both the LandingPage and the NavigationViewItem icon. Example: ms-appx:///Assets/Fluent/Extensions.png |
| IconGlyph | string | Specifies a glyph (Unicode character) to be used as the icon for the NavigationViewItem, typically via a FontIcon. Example: EA6A Note: If both IconGlyph and ImagePath are defined, the NavigationViewItem will prioritize and use IconGlyph |
| LocalizeId | string | Specifies the resource key used for localizing properties such as Title, Subtitle, Description, and SecondaryTitle. Example: Nav_HomeKey Requires UsexUid to be set to true. See example here |
| IsNavigationViewItemHeader | bool | Marks the item as a header within the NavigationView |
| UsexUid | bool | Enables localization through x:Uid. Required when using LocalizeId. |
| DataInfoBadge | DataInfoBadge | Assigns an InfoBadge to the item, allowing visual indicators like status or alerts. |
| HideNavigationViewItemIcon | bool |
DataInfoBadge
| Name | Type | Remark |
|---|---|---|
| NavigationViewInfoBadgeStyle | string | Specifies the style of the InfoBadge in the NavigationView. Example: StringInfoBadgeStyle |
| LandingPageInfoBadgeStyle | string | Specifies the style of the InfoBadge on the LandingPage. Example: AttentionIconInfoBadgeStyle |
| InfoBadgeValue | string | Sets the value of the InfoBadge if the style is StringInfoBadgeStyle. Examples: βBETAβ, βNEWβ |
| IsLandingPageInfoBadgeHidden | bool | Controls the visibility of the InfoBadge on the LandingPage. |
| IsNavigationViewInfoBadgeHidden | bool | Controls the visibility of the InfoBadge in the NavigationView item. |
DataGroup (inherits from BaseDataInfo)
| Name | Type | Remark |
|---|---|---|
| DefaultBuiltInNavigationViewInfoBadgeStyle | string | Sets the default style for InfoBadge in the NavigationView. Default: StringInfoBadgeStyle |
| DefaultBuiltInLandingPageInfoBadgeStyle | string | Sets the default style for InfoBadge on the LandingPage. Default: AttentionIconInfoBadgeStyle |
| IsExpanded | bool | |
| IsSpecialSection | bool | |
| HideGroup | bool | Hides the entire group from the NavigationView |
| ShowItemsWithoutGroup | bool | Displays individual NavigationViewItems that donβt belong to any group as separate entries. |
| IsFooterNavigationViewItem | bool | If true, the item will be placed in the footer section of the NavigationView. |
| Order | bool | When enabled, sorts items in ascending order. |
| OrderByDescending | bool | If true, sorts items in descending order. |
| UseBuiltInNavigationViewInfoBadgeStyle | bool | If enabled, applies the default style defined in DefaultBuiltInNavigationViewInfoBadgeStyle. Automatically displays InfoBadge when IsNew, IsUpdated, or IsPreview are set to true. |
| UseBuiltInLandingPageInfoBadgeStyle | bool | If enabled, applies the default style defined in DefaultBuiltInLandingPageInfoBadgeStyle. Automatically displays InfoBadge when IsNew, IsUpdated, or IsPreview are set to true. |
| Items | ObservableCollection |
DataItem (inherits from BaseDataInfo)
| Name | Type | Remark |
|---|---|---|
| Content | string | |
| Parameter | object | |
| IsNew | bool | |
| IsUpdated | bool | |
| IsPreview | bool | |
| HideItem | bool | Hides the item from the LandingPage. |
| HideNavigationViewItem | bool | Hides the item from the NavigationView. |
| IncludedInBuild | bool | |
| Links | ObservableCollection |
|
| Extra | ObservableCollection |
DataLink
| Name | Type | Remark |
|---|---|---|
| Title | string | |
| Uri | string |
Example
1 | { |
Demo
you can run demo and see this feature.