### InfoBadge C# Usage
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/InfoBadge
Example of how to use the InfoBadge control in C#.
```APIDOC
## InfoBadge C# Usage
### Description
Represents the InfoBadge control in C#.
### Class Definition
```csharp
public class InfoBadge : TemplatedControl
```
### Properties
- **IconSource** (object) - Gets or sets the icon to be used in an InfoBadge.
- **Value** (int) - Gets or sets the integer to be displayed in a numeric InfoBadge.
### Methods
None specified.
```
--------------------------------
### InfoBadge XAML Usage
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/InfoBadge
Example of how to use the InfoBadge control in XAML.
```APIDOC
## InfoBadge XAML Usage
### Description
Basic usage of the InfoBadge control in XAML.
### Endpoint
N/A (UI Control)
### Request Body
```xml
```
### Response
N/A (UI Control)
```
--------------------------------
### FontIcon Usage
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/FontIcon
Examples of how to use the FontIcon control in XAML.
```APIDOC
## FontIcon Usage
### XAML Example
```xml
```
```
--------------------------------
### NumberBox Control API
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/NumberBox
Details about the NumberBox control, its namespace, and basic usage examples.
```APIDOC
## NumberBox Control
### Namespace
`FluentAvalonia.UI.Controls`
### Description
Represents a control that can be used to display and edit numbers.
### C# Usage
```csharp
public class NumberBox : TemplatedControl
```
### XAML Usage
```xml
```
### Required Template Parts
| Name | Control Type |
|---|---|
| DownSpinButton | RepeatButton |
| PopupDownSpinButton | RepeatButton |
| UpSpinButton | RepeatButton |
| PopupUpSpinButton | RepeatButton |
| InputBox | TextBox |
| UpDownPopup | Popup |
### Pseudoclasses
`:spinvisible`, `:spinpopup`, `:spincollapsed`, `:updisabled`, `:downdisabled`, `:header`, `:disabled`, `:focus`, `:focus-visible`, `:focus-within`, `:pointerover
### Examples and Usage Notes
None yet.
```
--------------------------------
### FAMenuFlyout XAML Usage
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/FAMenuFlyout
Basic XAML declaration for a FAMenuFlyout. This can be used as a starting point for integrating menu flyouts into your Avalonia UI.
```xaml
```
--------------------------------
### StandardUICommand Class Overview
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/StandardUICommand
Provides details about the StandardUICommand class, its namespace, and its base class.
```APIDOC
## StandardUICommand
**Namespace:** `FluentAvalonia.UI.Input`
**Derives from:** `XamlUICommand`
**Description:** Adds a set of standard platform commands with pre-defined properties.
### C#
```csharp
public class StandardUICommand : XamlUICommand
```
### Xaml
```xml
```
```
--------------------------------
### AppWindow Class Overview
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/AppWindow
Provides an overview of the AppWindow class, its namespace, and basic usage in C# and XAML.
```APIDOC
## AppWindow
Namespace: `FluentAvalonia.UI.Windowing`
### C#
```csharp
public class AppWindow : Window
```
### Xaml
```xml
```
### Required Template Parts
None
### Pseudoclasses
`:disabled`, `:focus`, `:focus-visible`, `:focus-within`, `:pointerover`
```
--------------------------------
### TeachingTip Pseudoclasses
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/TeachingTip
List of available pseudoclasses for styling the TeachingTip control.
```CSS
:lightDismiss, :actionButton, :closeButton, :content, :icon, :footerClose, :heroContentTop, :heroContentBottom, :top, :bottom, :left, :right, :center, :topRight, :topLeft, :bottomLeft, :bottomRight, :leftTop, :leftBottom, :rightTop, :rightBottom, :showTitle, :showSubTitle, :disabled, :focus, :focus-visible, :focus-within, :pointerover
```
--------------------------------
### Instantiate InfoBar in XAML
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/InfoBar
Basic XAML declaration for an InfoBar control.
```XML
```
--------------------------------
### TeachingTip Properties
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/TeachingTip
This section lists and describes the properties available for the FluentAvalonia TeachingTip control.
```APIDOC
## TeachingTip Properties
### Description
This section details the properties available for the FluentAvalonia TeachingTip control, which allow for customization of its appearance and behavior.
### Properties
- **ActionButtonCommand** (ICommand) - Gets or sets the command to invoke when the action button is clicked.
- **ActionButtonCommandParameter** (object) - Gets or sets the parameter to pass to the command for the action button.
- **ActionButtonContent** (object) - Gets or sets the text of the teaching tip's action button.
- **ActionButtonStyle** (Style) - Gets or sets the Style (ControlTheme) to apply to the action button.
- **CloseButtonCommand** (ICommand) - Gets or sets the command to invoke when the close button is clicked.
- **CloseButtonCommandParameter** (object) - Gets or sets the parameter to pass to the command for the close button.
- **CloseButtonContent** (object) - Gets or sets the content of the teaching tip's close button.
- **CloseButtonStyle** (Style) - Gets or sets the Style (ControlTheme) to apply to the teaching tip's close button.
- **HeroContent** (object) - Border-to-border graphic content displayed in the header or footer of the teaching tip. Will appear opposite of the tail in targeted teaching tips unless otherwise set.
- **HeroContentPlacement** (HeroContentPlacementMode) - Placement of the hero content within the teaching tip.
- **IconSource** (IconSource) - Gets or sets the graphic content to appear alongside the title and subtitle.
- **IsLightDismissEnabled** (bool) - Enables light-dismiss functionality so that a teaching tip will dismiss when a user scrolls or interacts with other elements of the application.
- **IsOpen** (bool) - Gets or sets a value that indicates whether the teaching tip is open.
- **PlacementMargin** (Thickness) - Adds a margin between a targeted teaching tip and its target or between a non-targeted teaching tip and the xaml root.
- **PreferredPlacement** (PlacementMode) - Preferred placement to be used for the teaching tip. If there is not enough space to show at the preferred placement, a new placement will be automatically chosen. Placement is relative to its target if Target is non-null or to the parent window of the teaching tip if Target is null.
- **ShouldConstrainToRootBounds** (bool) - Gets or sets a value that indicates whether the teaching tip will constrain to the bounds of its xaml root.
- **Subtitle** (object) - Gets or sets the subtitle of the teaching tip.
- **TailVisibility** (TeachingTipTailVisibility) - Toggles collapse of a teaching tip's tail. Can be used to override auto behavior to make a tail visible on a non-targeted teaching tip and hidden on a targeted teaching tip.
- **Target** (Control) - Gets or sets the target for a teaching tip to position itself relative to and point at with its tail.
- **TemplateSettings** (TeachingTipTemplateSettings) - Provides calculated values that can be referenced as TemplatedParent sources when defining templates for a TeachingTip. Not intended for general use.
- **Title** (object) - Gets or sets the title of the teaching tip.
```
--------------------------------
### FAMenuFlyout Overview
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/FAMenuFlyout
Provides an overview of the FAMenuFlyout control, its namespace, and basic C# and XAML definitions.
```APIDOC
## FAMenuFlyout
Namespace: `FluentAvalonia.UI.Controls`
Represents a flyout that displays a menu of commands.
### C#
```csharp
public class FAMenuFlyout : PopupFlyoutBase
```
### Xaml
```xml
```
```
--------------------------------
### MenuFlyoutItem Overview
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/MenuFlyoutItem
Provides an overview of the MenuFlyoutItem control, its namespace, and basic structure.
```APIDOC
## MenuFlyoutItem
Namespace: `FluentAvalonia.UI.Controls`
Represents a command in a `FluentAvalonia.UI.Controls.FAMenuFlyout` control.
### C#
```csharp
public class MenuFlyoutItem : MenuFlyoutItemBase
```
### Xaml
```xml
```
### Required Template Parts
None
### Pseudoclasses
`:hotkey`, `:pressed`, `:disabled`, `:focus`, `:focus-visible`, `:focus-within`, `:pointerover`
```
--------------------------------
### TeachingTip Control API
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/TeachingTip
API documentation for the TeachingTip control.
```APIDOC
## TeachingTip Control
### Description
A teaching tip is a notification flyout used to provide contextually relevant information. It supports rich content (including titles, subtitles, icons, images, and text) and can be configured for either explicit or light-dismiss.
### Namespace
`FluentAvalonia.UI.Controls`
### C# Usage
```csharp
public class TeachingTip : ContentControl
```
### XAML Usage
```xml
```
### Required Template Parts
Name | Control Type
---|---
Container | Border
TailOcclusionGrid | Grid
ContentRootGrid | Grid
NonHeroContentRootGrid | Grid
HeroContentBorder | Border
ActionButton | Button
AlternateCloseButton | Button
CloseButton | Button
TailPolygon | Path
### Pseudoclasses
```
:lightDismiss, :actionButton, :closeButton, :content, :icon, :footerClose, :heroContentTop, :heroContentBottom, :top, :bottom, :left, :right, :center, :topRight, :topLeft, :bottomLeft, :bottomRight, :leftTop, :leftBottom, :rightTop, :rightBottom, :showTitle, :showSubTitle, :disabled, :focus, :focus-visible, :focus-within, :pointerover
```
```
--------------------------------
### Supported Pseudoclasses
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/CommandBarElementContainer
List of available pseudoclasses for styling the control.
```text
:overflow, :disabled, :focus, :focus-visible, :focus-within, :pointerover
```
--------------------------------
### Obtain FluentAvaloniaTheme reference
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/FATheme
Use AvaloniaLocator to retrieve the current theme manager instance for configuration adjustments.
```csharp
var faTheme = AvaloniaLocator.Current.GetService();
```
--------------------------------
### NavigationView Enums and Event Arguments
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/NavigationView
Reference documentation for the configuration enums and event argument classes used to manage NavigationView state and interactions.
```APIDOC
## NavigationView Enums and Event Arguments
### NavigationViewDisplayMode
- **Minimal**: Only the menu button remains fixed. The pane shows and hides as needed.
- **Compact**: The pane always shows as a narrow sliver which can be opened to full width.
- **Expanded**: The pane stays open alongside the content.
### NavigationViewPaneDisplayMode
- **Auto**: The pane is shown on the left side of the control, and changes between minimal, compact, and full states depending on the width of the window.
- **Left**: The pane is shown on the left side of the control in its fully open state.
- **Top**: The pane is shown at the top of the control.
- **LeftCompact**: The pane is shown on the left side of the control. Only the pane icons are shown by default.
- **LeftMinimal**: The pane is shown on the left side of the control. Only the pane menu button is shown by default.
### NavigationViewSelectionChangedEventArgs
- **SelectedItem**: Gets the newly selected menu item.
- **SelectedItemContainer**: Gets the container for the selected item.
- **IsSettingsSelected**: Gets a value that indicates whether the SelectedItem is the menu item for Settings.
- **RecommendedNavigationTransitionInfo**: Gets the navigation transition recommended for the direction of the navigation.
### NavigationViewItemInvokedEventArgs
- **InvokedItem**: Gets a reference to the invoked item.
- **IsSettingsInvoked**: Gets a value that indicates whether the InvokedItem is the menu item for Settings.
- **InvokedItemContainer**: Gets the container for the invoked item.
- **RecommendedNavigationTransitionInfo**: Gets the navigation transition recommended for the direction of the navigation.
```
--------------------------------
### CommandBar Control API
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/CommandBar
API documentation for the CommandBar control, including its properties, events, and methods.
```APIDOC
## CommandBar Control
Namespace: `FluentAvalonia.UI.Controls`
Represents a specialized command bar that provides layout for CommandBarButton and related command elements.
### C#
```csharp
public class CommandBar : ContentControl
```
### Xaml
```xml
```
### Required Template Parts
Name | Control Type
---|---
PrimaryItemsControl | ItemsControl
ContentControl | ContentControl
SecondaryItemsControl | CommandBarOverflowPresenter
MoreButton | Button
### Pseudoclasses
`:dynamicoverflow`, `:compact`, `:minimal`, `:hidden`, `:labelbottom`, `:labelright`, `:labelcollapsed`, `:primaryOnly`, `:secondaryOnly`, `:open`, `:disabled`, `:focus`, `:focus-visible`, `:focus-within`, `:pointerover`
### Properties
- **ClosedDisplayMode** (CommandBarClosedDisplayMode) - Gets or sets a value that indicates whether icon buttons are displayed when the command bar is not completely open.
- **ClosedDisplayModeProperty** - Defines the `FluentAvalonia.UI.Controls.CommandBar.ClosedDisplayMode` property.
- **DefaultLabelPosition** (CommandBarDefaultLabelPosition) - Gets or sets a value that indicates the placement and visibility of the labels on the command bar's buttons.
- **DefaultLabelPositionProperty** - Defines the `FluentAvalonia.UI.Controls.CommandBar.DefaultLabelPosition` property.
- **IsDynamicOverflowEnabled** (bool) - Gets or sets a value that indicates whether primary commands automatically move to the overflow menu when space is limited.
- **IsDynamicOverflowEnabledProperty** - Defines the `FluentAvalonia.UI.Controls.CommandBar.IsDynamicOverflowEnabled` property.
- **IsOpen** (bool) - Gets or sets a value that indicates whether the CommandBar is open.
- **IsOpenProperty** - Defines the `FluentAvalonia.UI.Controls.CommandBar.IsOpen` property.
- **IsSticky** (bool) - Gets or sets a value that indicates whether the CommandBar does not close on light dismiss.
- **IsStickyProperty** - Defines the `FluentAvalonia.UI.Controls.CommandBar.IsSticky` property.
- **ItemsAlignment** (CommandBarItemsAlignment) - Gets or sets how the `FluentAvalonia.UI.Controls.CommandBar.PrimaryCommands` align in the CommandBar.
- **ItemsAlignmentProperty** - Defines the `FluentAvalonia.UI.Controls.CommandBar.ItemsAlignment` property.
- **OverflowButtonVisibility** (CommandBarOverflowButtonVisibility) - Gets or sets a value that indicates when a command bar's overflow button is shown.
- **OverflowButtonVisibilityProperty** - Defines the `FluentAvalonia.UI.Controls.CommandBar.OverflowButtonVisibility` property.
- **PrimaryCommands** (IObservableVector) - Gets the collection of primary command elements for the CommandBar.
- **PrimaryCommandsProperty** - Defines the `FluentAvalonia.UI.Controls.CommandBar.PrimaryCommands` property.
- **SecondaryCommands** (IObservableVector) - Gets the collection of secondary command elements for the CommandBar.
- **SecondaryCommandsProperty** - Defines the `FluentAvalonia.UI.Controls.CommandBar.SecondaryCommands` property.
### Events
- **Closed**: Occurs when the CommandBar changes from visible to hidden.
- **Closing**: Occurs when the CommandBar starts to change from visible to hidden.
- **Opened**: Occurs when the CommandBar changes from hidden to visible.
- **Opening**: Occurs when the CommandBar starts to change from hidden to visible.
### Related Enums/Classes
#### CommandBarClosedDisplayMode
- **Compact**: Icon buttons are displayed but labels are not visible.
- **Minimal**: Only the ellipsis is displayed. Neither icon buttons nor labels are visible.
- **Hidden**: The app bar is not displayed.
#### CommandBarOverflowButtonVisibility
- **Auto**: The overflow button automatically hides when there are no secondary commands and the closed state of the CommandBar is the same as the open state.
- **Visible**: The overflow button is always shown.
- **Collapsed**: The overflow button is never shown.
#### CommandBarItemsAlignment
- **Left**: The items are left-aligned on the CommandBar.
- **Right**: The items are right-aligned on the CommandBar.
#### CommandBarDefaultLabelPosition
- **Bottom**: App bar button labels are shown below the icon. Labels are visible only when the command bar is open.
- **Right**: App bar button labels are shown to the right of the icon. Labels are visible even when the command bar is closed.
- **Collapsed**: App bar button labels are always hidden whether the command bar is open or closed.
#### ICommandBarElement
- **DynamicOverflowOrder** (int) - Gets or sets a value that indicates the order in which a primary command in a CommandBar should be moved to the overflow menu when there is not enough room to display all primary commands.
- **IsCompact** (bool) - Gets or sets a value that indicates whether the element is shown with no label and reduced padding.
- **IsInOverflow** (bool) - Gets a value that indicates whether the CommandBar command is currently located in the overflow menu.
```
--------------------------------
### TeachingTip Enums
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/TeachingTip
Configuration enums for TeachingTip behavior and placement.
```APIDOC
## TeachingTip Enums
### TeachingTipTailVisibility
- **Auto**: Tail is collapsed when non-targeted and visible when targeted.
- **Visible**: Tail is visible.
- **Collapsed**: Tail is collapsed.
### TeachingTipPlacementMode
- Defines the positioning of the tip relative to the xaml root or target element (e.g., Auto, Top, Bottom, Left, Right, TopRight, TopLeft, BottomRight, BottomLeft, LeftTop, LeftBottom, RightTop, RightBottom, Center).
### TeachingTipHeroContentPlacementMode
- **Auto**: Hero content is placed in the header, potentially moving to the footer to avoid the tail.
- **Top**: Hero content is in the header.
- **Bottom**: Hero content is in the footer.
```
--------------------------------
### TeachingTip Event Arguments
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/TeachingTip
Event argument classes for handling TeachingTip closing and closed states.
```APIDOC
## TeachingTip Event Arguments
### TeachingTipClosingEventArgs
- **Reason**: Specifies if the closing was due to user interaction, light-dismissal, or programmatic closure.
- **GetDeferral**: Returns a `FluentAvalonia.Core.Deferral` object for managing work in the event handler.
### TeachingTipClosedEventArgs
- **Reason**: Specifies if the closed event was due to user interaction, light-dismissal, or programmatic closure.
```
--------------------------------
### InfoBadge Pseudoclasses
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/InfoBadge
Available pseudoclasses for styling the InfoBadge control.
```text
:value, :fonticon, :icon, :dot, :disabled, :focus, :focus-visible, :focus-within, :pointerover
```
--------------------------------
### Implement StandardUICommand in XAML
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/StandardUICommand
Basic XAML declaration for a StandardUICommand instance.
```Xaml
```
--------------------------------
### BitmapIconSource Class Overview
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/BitmapIconSource
Provides details about the BitmapIconSource class, including its namespace, base class, and basic XAML usage.
```APIDOC
## BitmapIconSource
Namespace: `FluentAvalonia.UI.Controls`
Represents an icon source that uses a bitmap as its content.
### C#
```csharp
public class BitmapIconSource : IconSource
```
### Xaml
```xml
```
### Properties
- **ShowAsMonochrome** (bool) - Gets or sets a value that indicates whether the bitmap is shown in a single color.
- **ShowAsMonochromeProperty** - Defines the `FluentAvalonia.UI.Controls.BitmapIconSource.ShowAsMonochrome` property.
- **UriSource** (Uri) - Gets or sets the Uniform Resource Identifier (URI) of the bitmap to use as the icon content.
- **UriSourceProperty** - Defines the `FluentAvalonia.UI.Controls.BitmapIconSource.UriSource` property.
```
--------------------------------
### CommandBarElementContainer Overview
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/CommandBarElementContainer
Provides an overview of the CommandBarElementContainer control, its namespace, and basic C# and Xaml definitions.
```APIDOC
## CommandBarElementContainer
Namespace: `FluentAvalonia.UI.Controls`
Represents a container that allows an element that doesn’t implement ICommandBarElement to be displayed in a command bar.
### C# Definition
```csharp
public class CommandBarElementContainer : ContentControl
```
### Xaml Definition
```xml
```
### Required Template Parts
None
### Pseudoclasses
`:overflow`, `:disabled`, `:focus`, `:focus-visible`, `:focus-within`, `:pointerover`
```
--------------------------------
### AppWindow Properties and Methods
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/AppWindow
Details the properties and methods available for AppWindow, excluding inherited members.
```APIDOC
## AppWindow API
Note: Inherited members are not shown.
### Properties
### Events
### Methods
```
--------------------------------
### NavigationViewItem Class Reference
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/NavigationViewItem
Overview of the NavigationViewItem control, including its namespace, inheritance, and available properties.
```APIDOC
## NavigationViewItem
### Description
Represents the container for an item in a NavigationView control.
### Namespace
FluentAvalonia.UI.Controls
### Inheritance
public class NavigationViewItem : NavigationViewItemBase
### Properties
- **CompactPaneLength** (double) - Gets the CompactPaneLength of the NavigationView that hosts this item.
- **HasUnrealizedChildren** (bool) - Gets or sets a value that indicates whether the current item has child items that haven't been shown.
- **IconSource** (IconSource) - Gets or sets the icon to show next to the menu item text.
- **InfoBadge** (InfoBadge) - Gets or sets the InfoBadge to display in the NavigationViewItem.
- **IsChildSelected** (bool) - Gets or sets the value that indicates whether or not a descendant item is selected.
- **IsExpanded** (bool) - Gets or sets a value that indicates whether a tree node is expanded.
- **MenuItems** (IList) - Gets the collection of menu items displayed as children of the NavigationViewItem.
- **MenuItemsSource** (object) - Gets or sets an object source used to generate the content of the NavigationViewItem submenu.
- **SelectsOnInvoked** (bool) - Gets or sets a value that indicates whether invoking a navigation menu item also selects it.
```
--------------------------------
### AppWindow XAML Usage
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/AppWindow
Basic XAML declaration for an AppWindow instance.
```Xaml
```
--------------------------------
### InfoBar Pseudoclasses
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/InfoBar
List of available pseudoclasses for styling the InfoBar control.
```text
:hidden, :closehidden, :success, :warning, :error, :informational, :icon, :standardIcon, :foregroundset, :disabled, :focus, :focus-visible, :focus-within, :pointerover
```
--------------------------------
### CommandBarButton Pseudoclasses
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/CommandBarButton
List of available pseudoclasses for styling the CommandBarButton.
```CSS
:icon, :label, :compact, :flyout, :submenuopen, :overflow, :hotkey, :flyout-open, :pressed, :disabled, :focus, :focus-visible, :focus-within, :pointerover
```
--------------------------------
### NavigationView Control Overview
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/NavigationView
Overview of the NavigationView control, its namespace, and basic usage in C# and XAML.
```APIDOC
## NavigationView Control
### Namespace
`FluentAvalonia.UI.Controls`
### Description
Represents a container that enables navigation of app content. It has a header, a view for the main content, and a menu pane for navigation commands.
### C# Representation
```csharp
public class NavigationView : HeaderedContentControl
```
### XAML Representation
```xml
```
```
--------------------------------
### NumberBox Basic XAML Usage
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/NumberBox
Demonstrates the basic instantiation of a NumberBox control in XAML. No additional properties are specified.
```xaml
```
--------------------------------
### NavigationViewItemHeader Pseudoclasses
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/NavigationViewItemHeader
List of supported pseudoclasses for styling the NavigationViewItemHeader.
```text
:headertextcollapsed, :headertextvisible, :topmode, :pressed, :selected, :disabled, :focus, :focus-visible, :focus-within, :pointerover
```
--------------------------------
### TeachingTip Class Definition
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/TeachingTip
The base class definition for the TeachingTip control.
```C#
public class TeachingTip : ContentControl
```
--------------------------------
### CommandBarButton API Documentation
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/CommandBarButton
API details for the CommandBarButton control.
```APIDOC
## CommandBarButton
### Description
Represents a button control that can be displayed in a CommandBar.
### Namespace
`FluentAvalonia.UI.Controls`
### C# Class Definition
```csharp
public class CommandBarButton : Button
```
### XAML Usage
```xml
```
### Properties
- **DynamicOverflowOrder** (Property) - Defines the `FluentAvalonia.UI.Controls.CommandBarButton.DynamicOverflowOrder` property.
- **IconSource** (Property) - Gets or sets the graphic content of the app bar toggle button.
- **IconSourceProperty** (Property) - Defines the `Icon` property.
- **IsCompact** (Property) - Defines the `FluentAvalonia.UI.Controls.CommandBarButton.IsCompact` property.
- **IsInOverflow** (Property) - Defines the `FluentAvalonia.UI.Controls.CommandBarButton.IsInOverflow` property.
- **Label** (Property) - Gets or sets the text description displayed on the app bar toggle button.
- **LabelProperty** (Property) - Defines the `FluentAvalonia.UI.Controls.CommandBarButton.Label` property.
- **TemplateSettings** (Property) - Gets the template settings for this CommandBarButton.
- **TemplateSettingsProperty** (Property) - Defines the `FluentAvalonia.UI.Controls.CommandBarButton.TemplateSettings` property.
### Events
None explicitly listed (inherited members not shown).
### Methods
None explicitly listed (inherited members not shown).
### Pseudoclasses
- `:icon`
- `:label`
- `:compact`
- `:flyout`
- `:submenuopen`
- `:overflow`
- `:hotkey`
- `:flyout-open`
- `:pressed`
- `:disabled`
- `:focus`
- `:focus-visible`
- `:focus-within`
- `:pointerover
```
--------------------------------
### TeachingTip XAML Declaration
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/TeachingTip
Basic XAML syntax for declaring a TeachingTip control.
```Xaml
```
--------------------------------
### StandardUICommand Properties
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/StandardUICommand
Lists the properties available for StandardUICommand, including inherited members.
```APIDOC
## StandardUICommand Properties
*Note: Inherited members are not shown.*
### Properties
- **Kind** (Type: Unknown) - Gets the platform command (with pre-defined properties such as icon, keyboard accelerator, and description) that can be used with a StandardUICommand.
- **KindProperty** (Type: Unknown) - Defines the `FluentAvalonia.UI.Input.StandardUICommand.Kind` property.
```
--------------------------------
### NavigationView Methods
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/NavigationView
Utility methods for the NavigationView control.
```APIDOC
## CoercePropertyValueToGreaterThanZero
### Description
Coerces a double to ensure it is valid for use (>= 0 and not NaN or infinity).
### Parameters
- **AvaloniaObject** - The object to coerce.
- **Double** - The value to validate.
### Usage
Used for: CompactModeThresholdWidthProperty, CompactPaneLengthProperty, ExpandedModeThresholdWidthProperty, and OpenPaneLengthProperty.
```
--------------------------------
### SymbolIconSource XAML Usage
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/SymbolIconSource
Basic XAML usage for SymbolIconSource. This demonstrates how to declare the element in XAML.
```xaml
```
--------------------------------
### FAIconElement Class Reference
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/FAIconElement
Overview of the FAIconElement class, including its properties and supported pseudoclasses.
```APIDOC
## FAIconElement
### Description
Represents the base class for an icon UI element within the FluentAvalonia.UI.Controls namespace.
### Class Definition
`public class FAIconElement : Control`
### Properties
- **Foreground** (Brush) - Gets or sets a brush that describes the foreground color.
- **ForegroundProperty** (AvaloniaProperty) - Defines the Foreground property.
### Pseudoclasses
- :disabled
- :focus
- :focus-visible
- :focus-within
- :pointerover
### XAML Usage
```xml
```
```
--------------------------------
### Brush Resources
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Resources
Lists available brush resources for different UI elements, specifying their light and dark theme values.
```APIDOC
## Brush Resources
### Description
This section lists various brush resources used in the Fluent UI framework. Each entry specifies the brush name and its corresponding value for both light and dark themes.
### Parameters
No parameters are applicable for this documentation as it's a reference list.
### Request Example
N/A
### Response
#### Success Response (200)
- **Brush Name** (string) - The name of the brush resource.
- **Light Theme Value** (string) - The value of the brush in the light theme.
- **Dark Theme Value** (string) - The value of the brush in the dark theme.
#### Response Example
```json
{
"brushName": "ControlStrokeColorOnAccentTertiaryBrush",
"lightThemeValue": "ControlStrokeColorOnAccentTertiary",
"darkThemeValue": "ControlStrokeColorOnAccentTertiary"
}
```
### Brush List:
- **ControlStrokeColorOnAccentTertiaryBrush** | **Light:** ControlStrokeColorOnAccentTertiary **Dark:** ControlStrokeColorOnAccentTertiary
- **ControlStrokeColorOnAccentDisabledBrush** | **Light:** ControlStrokeColorOnAccentDisabled **Dark:** ControlStrokeColorOnAccentDisabled
- **ControlStrokeColorForStrongFillWhenOnImageBrush** | **Light:** ControlStrokeColorForStrongFillWhenOnImage **Dark:** ControlStrokeColorForStrongFillWhenOnImage
- **CardStrokeColorDefaultBrush** | **Light:** CardStrokeColorDefault **Dark:** CardStrokeColorDefault
- **CardStrokeColorDefaultSolidBrush** | **Light:** CardStrokeColorDefaultSolid **Dark:** CardStrokeColorDefaultSolid
- **ControlStrongStrokeColorDefaultBrush** | **Light:** ControlStrongStrokeColorDefault **Dark:** ControlStrongStrokeColorDefault
- **ControlStrongStrokeColorDisabledBrush** | **Light:** ControlStrongStrokeColorDisabled **Dark:** ControlStrongStrokeColorDisabled
- **SurfaceStrokeColorDefaultBrush** | **Light:** SurfaceStrokeColorDefault **Dark:** SurfaceStrokeColorDefault
- **SurfaceStrokeColorFlyoutBrush** | **Light:** SurfaceStrokeColorFlyout **Dark:** SurfaceStrokeColorFlyout
- **SurfaceStrokeColorInverseBrush** | **Light:** SurfaceStrokeColorInverse **Dark:** SurfaceStrokeColorInverse
- **DividerStrokeColorDefaultBrush** | **Light:** DividerStrokeColorDefault **Dark:** DividerStrokeColorDefault
- **FocusStrokeColorOuterBrush** | **Light:** FocusStrokeColorOuter **Dark:** FocusStrokeColorOuter
- **FocusStrokeColorInnerBrush** | **Light:** FocusStrokeColorInner **Dark:** FocusStrokeColorInner
- **CardBackgroundFillColorDefaultBrush** | **Light:** CardBackgroundFillColorDefault **Dark:** CardBackgroundFillColorDefault
- **CardBackgroundFillColorSecondaryBrush** | **Light:** CardBackgroundFillColorSecondary **Dark:** CardBackgroundFillColorSecondary
- **SmokeFillColorDefaultBrush** | **Light:** SmokeFillColorDefault **Dark:** SmokeFillColorDefault
- **LayerFillColorDefaultBrush** | **Light:** LayerFillColorDefault **Dark:** LayerFillColorDefault
- **LayerFillColorAltBrush** | **Light:** LayerFillColorAlt **Dark:** LayerFillColorAlt
- **LayerOnAcrylicFillColorDefaultBrush** | **Light:** LayerOnAcrylicFillColorDefault **Dark:** LayerOnAcrylicFillColorDefault
- **LayerOnAccentAcrylicFillColorDefaultBrush** | **Light:** LayerOnAccentAcrylicFillColorDefault **Dark:** LayerOnAccentAcrylicFillColorDefault
- **LayerOnMicaBaseAltFillColorDefaultBrush** | **Light:** LayerOnMicaBaseAltFillColorDefault **Dark:** LayerOnMicaBaseAltFillColorDefault
- **LayerOnMicaBaseAltFillColorSecondaryBrush** | **Light:** LayerOnMicaBaseAltFillColorSecondary **Dark:** LayerOnMicaBaseAltFillColorSecondary
- **LayerOnMicaBaseAltFillColorTertiaryBrush** | **Light:** LayerOnMicaBaseAltFillColorTertiary **Dark:** LayerOnMicaBaseAltFillColorTertiary
- **LayerOnMicaBaseAltFillColorTransparentBrush** | **Light:** LayerOnMicaBaseAltFillColorTransparent **Dark:** LayerOnMicaBaseAltFillColorTransparent
- **SolidBackgroundFillColorBaseBrush** | **Light:** SolidBackgroundFillColorBase **Dark:** SolidBackgroundFillColorBase
- **SolidBackgroundFillColorSecondaryBrush** | **Light:** SolidBackgroundFillColorSecondary **Dark:** SolidBackgroundFillColorSecondary
- **SolidBackgroundFillColorTertiaryBrush** | **Light:** SolidBackgroundFillColorTertiary **Dark:** SolidBackgroundFillColorTertiary
- **SolidBackgroundFillColorQuarternaryBrush** | **Light:** SolidBackgroundFillColorQuarternary **Dark:** SolidBackgroundFillColorQuarternary
- **SystemFillColorAttentionBrush** | **Light:** SystemAccentColorLight **Dark:** SystemAccentColor
- **SystemFillColorSuccessBrush** | **Light:** SystemFillColorSuccess **Dark:** SystemFillColorSuccess
- **SystemFillColorCautionBrush** | **Light:** SystemFillColorCaution **Dark:** SystemFillColorCaution
- **SystemFillColorCriticalBrush** | **Light:** SystemFillColorCritical **Dark:** SystemFillColorCritical
- **SystemFillColorNeutralBrush** | **Light:** SystemFillColorNeutral **Dark:** SystemFillColorNeutral
- **SystemFillColorSolidNeutralBrush** | **Light:** SystemFillColorSolidNeutral **Dark:** SystemFillColorSolidNeutral
- **SystemFillColorAttentionBackgroundBrush** | **Light:** SystemFillColorAttentionBackground **Dark:** SystemFillColorAttentionBackground
- **SystemFillColorSuccessBackgroundBrush** | **Light:** SystemFillColorSuccessBackground **Dark:** SystemFillColorSuccessBackground
- **SystemFillColorCautionBackgroundBrush** | **Light:** SystemFillColorCautionBackground **Dark:** SystemFillColorCautionBackground
- **SystemFillColorCriticalBackgroundBrush** | **Light:** SystemFillColorCriticalBackground **Dark:** SystemFillColorCriticalBackground
- **SystemFillColorNeutralBackgroundBrush** | **Light:** SystemFillColorNeutralBackground **Dark:** SystemFillColorNeutralBackground
- **SystemFillColorSolidAttentionBackgroundBrush** | **Light:** SystemFillColorSolidAttentionBackground **Dark:** SystemFillColorSolidAttentionBackground
- **SystemFillColorSolidNeutralBackgroundBrush** | **Light:** SystemFillColorSolidNeutralBackground **Dark:** SystemFillColorSolidNeutralBackground
```
--------------------------------
### NavigationView Pseudoclasses
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/NavigationView
Lists the available pseudoclasses for styling the NavigationView control.
```APIDOC
## NavigationView Pseudoclasses
- `:separator`
- `:listsizecompact`
- `:closedcompact`
- `:backbuttoncollapsed`
- `:panecollapsed`
- `:headercollapsed`
- `:minimalwithback`
- `:minimal`
- `:topnavminimal`
- `:compact`
- `:expanded`
- `:autosuggestcollapsed`
- `:settingscollapsed`
- `:panetogglecollapsed`
- `:panenotoverlaying`
- `:disabled`
- `:focus`
- `:focus-visible`
- `:focus-within`
- `:pointerover
```
--------------------------------
### IApplicationSplashScreen Interface
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/AppWindow
Defines properties and methods for customizing the application's splash screen.
```APIDOC
## IApplicationSplashScreen
| Property/Method | Description |
|---|---|
| AppName | Specifies the name of the Application to display during the SplashScreen |
| AppIcon | Specifies the desired image to be shown during the SplashScreen |
| SplashScreenContent | Specifies custom content to be shown during the SplashScreen |
| MinimumShowTime | Specifies the minimum show time (in milliseconds) for the SplashScreen. |
| RunTasks(CancellationToken) | Called by AppWindow to run necessary background tasks during the splashscreen
```
--------------------------------
### INavigationPageFactory Interface
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/Frame
Interface for creating pages based on type or object instance.
```APIDOC
## INavigationPageFactory
### Description
Provides methods to create user-specified pages.
### Methods
#### GetPage(Type)
Returns a user-specified page based on the given type passed to it.
#### GetPageFromObject(Object)
Returns a user-specified page based on an instance of an existing object.
### Parameters
(Parameters are defined within the method descriptions above.)
### Request Example
(Not applicable for interface definitions)
### Response
(Not applicable for interface definitions)
```
--------------------------------
### MenuFlyoutSubItem API Documentation
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/MenuFlyoutSubItem
Detailed API information for the MenuFlyoutSubItem control.
```APIDOC
## MenuFlyoutSubItem
Namespace: `FluentAvalonia.UI.Controls`
Represents a menu item that displays a sub-menu in a `FluentAvalonia.UI.Controls.FAMenuFlyout` control.
### C# Signature
```csharp
public class MenuFlyoutSubItem : MenuFlyoutItemBase
```
### Xaml Usage
```xml
```
### Pseudoclasses
`:submenuopen`, `:disabled`, `:focus`, `:focus-visible`, `:focus-within`, `:pointerover`
### Properties
- **IconSource** (Type: `object`) - Gets or sets the graphic content of the menu flyout subitem.
- **IconSourceProperty** (Type: `AvaloniaProperty`) - Defines the `Icon` property.
- **ItemContainerTheme** (Type: `Avalonia.Styling.ControlTheme`) - Gets or sets the `Avalonia.Styling.ControlTheme` to apply for the items.
- **ItemContainerThemeProperty** (Type: `AvaloniaProperty`) - Defines the `FluentAvalonia.UI.Controls.MenuFlyoutSubItem.ItemContainerTheme` property.
- **Items** (Type: `System.Collections.IList`) - Gets or sets the collection used to generate the content of the sub-menu.
- **ItemsProperty** (Type: `AvaloniaProperty`) - Defines the `FluentAvalonia.UI.Controls.MenuFlyoutSubItem.Items` property.
- **ItemTemplateProperty** (Type: `DataTemplate`) - Defines the `FluentAvalonia.UI.Controls.MenuFlyoutSubItem.ItemTemplate` property.
- **TemplateSettings** (Type: `MenuFlyoutItemTemplateSettings`) - Gets the template settings for this MenuFlyoutItem.
- **TemplateSettingsProperty** (Type: `AvaloniaProperty`) - Defines the `FluentAvalonia.UI.Controls.MenuFlyoutSubItem.TemplateSettings` property.
- **Text** (Type: `string`) - Gets or sets the text content of a MenuFlyoutSubItem.
- **TextProperty** (Type: `AvaloniaProperty`) - Defines the `FluentAvalonia.UI.Controls.MenuFlyoutSubItem.Text` property.
### Methods
- **Open()** - Opens the SubMenu.
- **Close()** - Closes the SubMenu.
```
--------------------------------
### FAPathIcon Methods
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/FAPathIcon
Details the methods available for the FAPathIcon control, including their parameters and purpose.
```APIDOC
## FAPathIcon Methods
### IsDataValid
Quick and dirty check if we have a valid PathGeometry. This probably needs to be more robust, but this is better than a bunch of InvalidDataExceptions because we don't have a Path.TryParse() method. This does still fail sometimes, but its better than nothing. Its really only meant to be called from the StringToIconElementConverter.
- **Method Signature**: `IsDataValid(String, Geometry@)`
- **Description**: Checks if the provided string can be parsed into a valid Geometry.
```
--------------------------------
### SettingsExpanderItem API
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/SettingsExpanderItem
API documentation for the SettingsExpanderItem control, detailing its properties, events, and methods.
```APIDOC
## SettingsExpanderItem API
### Description
An item displayed within a `FluentAvalonia.UI.Controls.SettingsExpander`.
### Namespace
`FluentAvalonia.UI.Controls`
### Properties
- **ActionIconSource** (object) - Gets or sets the Action IconSource when `FluentAvalonia.UI.Controls.SettingsExpanderItem.IsClickEnabled` is true.
- **ActionIconSourceProperty** (object) - Defines the `FluentAvalonia.UI.Controls.SettingsExpanderItem.ActionIconSource` property.
- **Command** (object) - Gets or sets the Command that is invoked upon clicking the item.
- **CommandParameter** (object) - Gets or sets the command parameter.
- **CommandParameterProperty** (object) - Defines the `FluentAvalonia.UI.Controls.SettingsExpanderItem.CommandParameter` property.
- **CommandProperty** (object) - Defines the `FluentAvalonia.UI.Controls.SettingsExpanderItem.Command` property.
- **Description** (object) - Gets or sets the description text.
- **DescriptionProperty** (object) - Defines the `FluentAvalonia.UI.Controls.SettingsExpanderItem.Description` property.
- **Footer** (object) - Gets or sets the Footer content for the SettingsExpander.
- **FooterProperty** (object) - Defines the `FluentAvalonia.UI.Controls.SettingsExpanderItem.Footer` property.
- **FooterTemplate** (object) - Gets or sets the Footer template for the SettingsExpander.
- **FooterTemplateProperty** (object) - Defines the `FluentAvalonia.UI.Controls.SettingsExpanderItem.FooterTemplate` property.
- **IconSource** (object) - Gets or sets the IconSource for the SettingsExpander.
- **IconSourceProperty** (object) - Defines the `FluentAvalonia.UI.Controls.SettingsExpanderItem.IconSource` property.
- **IsClickEnabled** (bool) - Gets or sets whether the item is clickable which can be used for navigation within an app.
- **IsClickEnabledProperty** (object) - Defines the `FluentAvalonia.UI.Controls.SettingsExpanderItem.IsClickEnabled` property.
- **TemplateSettings** (object) - Provides calculated values that can be referenced as TemplatedParent sources when defining templates for a SettingsExpander. Not intended for general use.
- **TemplateSettingsProperty** (object) - Defines the `FluentAvalonia.UI.Controls.SettingsExpanderItem.TemplateSettings` property.
### Events
- **Click** - Event raised when the SettingsExpander is clicked and IsClickEnabled = true.
- **ClickEvent** (object) - Defines the `FluentAvalonia.UI.Controls.SettingsExpanderItem.Click` event.
### Methods
- **OnClick()** - Invoked when the SettingsExpanderItem is clicked when IsClickEnabled = true.
### Pseudoclasses
- **:footerBottom**
- **:footer**
- **:content**
- **:description**
- **:allowClick**
- **:pressed**
- **:icon**
- **:actionIcon**
- **:disabled**
- **:focus**
- **:focus-visible**
- **:focus-within**
- **:pointerover**
```
--------------------------------
### FAPathIcon Class Overview
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/FAPathIcon
Provides an overview of the FAPathIcon class, its namespace, and its inheritance hierarchy.
```APIDOC
## FAPathIcon
### Namespace
`FluentAvalonia.UI.Controls`
### Description
Represents an icon that uses a vector path as its content.
### C#
```csharp
public class FAPathIcon : FAIconElement
```
### Xaml
```xml
```
```
--------------------------------
### InfoBadge Control API
Source: https://amwx.github.io/FluentAvaloniaDocs/pages/Controls/InfoBadge
This section details the properties and methods available for the InfoBadge control.
```APIDOC
## InfoBadge Control API
### Description
Represents a control for indicating notifications, alerts, new content, or to attract focus to an area within an app.
### Namespace
`FluentAvalonia.UI.Controls`
### Properties
- **IconSource** (object) - Gets or sets the icon to be used in an InfoBadge.
- **TemplateSettings** (object) - Provides calculated values that can be referenced as TemplatedParent sources when defining templates for an InfoBadge. Not intended for general use.
- **Value** (int) - Gets or sets the integer to be displayed in a numeric InfoBadge.
### Events
None specified.
### Methods
None specified.
### Related Enums/Classes
None specified.
```