├── src
├── FluentAvalonia
│ ├── Interop
│ │ ├── .gitignore
│ │ ├── WinRT
│ │ │ ├── WinRTSize.cs
│ │ │ └── WinRTColor.cs
│ │ └── Helpers
│ │ │ ├── MARGINS.cs
│ │ │ ├── WINDOWPOS.cs
│ │ │ ├── MENUITEMINFO.cs
│ │ │ ├── RECT.cs
│ │ │ └── NCCALCSIZE_PARAMS.cs
│ ├── Fonts
│ │ └── FluentAvalonia.ttf
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Core
│ │ ├── Internal
│ │ │ ├── ModuleInitializerAttribute.cs
│ │ │ ├── IsExternalInit.cs
│ │ │ └── MathF.cs
│ │ ├── Delegates.cs
│ │ ├── Attributes
│ │ │ └── NotImplementedAttribute.cs
│ │ ├── ThicknessExtensions.cs
│ │ └── Deferral.cs
│ ├── UI
│ │ ├── Controls
│ │ │ ├── NavigationView
│ │ │ │ ├── SelectionModel
│ │ │ │ │ └── SelectionModelSelectionChangedEventArgs.cs
│ │ │ │ ├── EventArgs
│ │ │ │ │ ├── NavigationViewBackRequestedEventArgs.cs
│ │ │ │ │ ├── NavigationViewDisplayModeChangedEventArgs.cs
│ │ │ │ │ ├── NavigationViewPaneClosingEventArgs.cs
│ │ │ │ │ ├── NavigationViewItemInvokedEventArgs.cs
│ │ │ │ │ └── NavigationViewSelectionChangedEventArgs.cs
│ │ │ │ └── Enums
│ │ │ │ │ ├── NavigationViewDisplayMode.cs
│ │ │ │ │ ├── NavViewEnums.cs
│ │ │ │ │ └── NavigationViewPaneDisplayMode.cs
│ │ │ ├── TaskDialog
│ │ │ │ ├── TaskDialogCheckBox.cs
│ │ │ │ ├── TaskDialogFooterVisibility.cs
│ │ │ │ ├── Controls
│ │ │ │ │ └── TaskDialogCommandHost.cs
│ │ │ │ ├── TaskDialogStandardResult.cs
│ │ │ │ ├── TaskDialogRadioButton.cs
│ │ │ │ ├── TaskDialogProgressState.cs
│ │ │ │ └── TaskDialogCommand.cs
│ │ │ ├── MenuFlyout
│ │ │ │ ├── MenuFlyoutSeparator.cs
│ │ │ │ └── MenuFlyoutItemTemplateSettings.cs
│ │ │ ├── Repeater
│ │ │ │ ├── Phasing
│ │ │ │ │ └── QPCTimer.cs
│ │ │ │ ├── Transitions
│ │ │ │ │ ├── ItemCollectionTransitionCompletedEventArgs.cs
│ │ │ │ │ └── ItemCollectionTransitionProgress.cs
│ │ │ │ ├── ItemsRepeaterElementClearingEventArgs.cs
│ │ │ │ ├── ItemTemplate
│ │ │ │ │ ├── IElementFactory.cs
│ │ │ │ │ ├── SelectTemplateEventArgs.cs
│ │ │ │ │ ├── ElementFactoryRecycleArgs.cs
│ │ │ │ │ ├── ElementFactoryGetArgs.cs
│ │ │ │ │ └── ElementFactory.cs
│ │ │ │ ├── Layouts
│ │ │ │ │ ├── LayoutContext.cs
│ │ │ │ │ ├── UniformGridLayout
│ │ │ │ │ │ └── UniformGridLayoutItemsStretch.cs
│ │ │ │ │ └── NonVirtualizingLayoutContext.cs
│ │ │ │ ├── ElementRealizationOptions.cs
│ │ │ │ ├── ItemsRepeaterElementPreparedEventArgs.cs
│ │ │ │ ├── IKeyIndexMapping.cs
│ │ │ │ └── ItemsRepeaterElementIndexChangedEventArgs.cs
│ │ │ ├── Experimental
│ │ │ │ └── ConnectedAnimationConfiguration.cs
│ │ │ ├── CommandBar
│ │ │ │ ├── CommandBarItemsAlignment.cs
│ │ │ │ ├── Enums
│ │ │ │ │ ├── CommandBarClosedDisplayMode.cs
│ │ │ │ │ ├── CommandBarOverflowButtonVisibility.cs
│ │ │ │ │ └── CommandBarDefaultLabelPosition.cs
│ │ │ │ ├── CommandBarButtonTemplateSettings.cs
│ │ │ │ └── ICommandBarElement.cs
│ │ │ ├── CommandBarFlyout
│ │ │ │ └── TextControlButtons.cs
│ │ │ ├── ContentDialog
│ │ │ │ ├── EventArgs
│ │ │ │ │ └── ContentDialogClosedEventArgs.cs
│ │ │ │ ├── ContentDialogPlacement.cs
│ │ │ │ ├── ContentDialogResult.cs
│ │ │ │ └── ContentDialogButton.cs
│ │ │ ├── FAComboBox
│ │ │ │ ├── FAComboBoxSelectionChangedTrigger.cs
│ │ │ │ ├── FAComboBoxItem.cs
│ │ │ │ └── FAComboBoxTextSubmittedEventArgs.cs
│ │ │ ├── InfoBar
│ │ │ │ ├── InfoBarClosedEventArgs.cs
│ │ │ │ └── InfoBarClosingEventArgs.cs
│ │ │ ├── TeachingTip
│ │ │ │ ├── TeachingTipClosedEventArgs.cs
│ │ │ │ ├── TeachingTipCloseReason.cs
│ │ │ │ ├── TeachingTipTailVisibility.cs
│ │ │ │ └── TeachingTipHeroContentPlacementMode.cs
│ │ │ ├── TabView
│ │ │ │ ├── Enums
│ │ │ │ │ ├── TabViewWidthMode.cs
│ │ │ │ │ └── TabViewCloseButtonOverlayMode.cs
│ │ │ │ └── EventArgs
│ │ │ │ │ ├── TabViewTabDroppedOutsideEventArgs.cs
│ │ │ │ │ ├── TabViewTabCloseRequestedEventArgs.cs
│ │ │ │ │ └── TabViewTabDragCompletedEventArgs.cs
│ │ │ ├── NumberBox
│ │ │ │ └── NumberBoxValueChangedEventArgs.cs
│ │ │ ├── BreadcrumbBar
│ │ │ │ ├── BreadcrumbBarItemClickedEventArgs.cs
│ │ │ │ └── BreadcrumbBarItemAutomationPeer.cs
│ │ │ ├── Frame
│ │ │ │ ├── NavigationMode.cs
│ │ │ │ ├── FrameNavigationOptions.cs
│ │ │ │ ├── INavigationPageFactory.cs
│ │ │ │ └── NavigationFailedEventArgs.cs
│ │ │ ├── Internal
│ │ │ │ ├── DragItemsCompletedEventArgs.cs
│ │ │ │ └── DragItemsStartingEventArgs.cs
│ │ │ ├── IconElement
│ │ │ │ ├── ImageIconSource.cs
│ │ │ │ └── BitmapIcon.properties.cs
│ │ │ └── Flyouts
│ │ │ │ └── PickerFlyoutBase.cs
│ │ ├── Data
│ │ │ └── CollectionView
│ │ │ │ ├── LoadMoreItemsResult.cs
│ │ │ │ ├── SortDirection.cs
│ │ │ │ ├── ICollectionViewFactory.cs
│ │ │ │ ├── RefreshDeferer.cs
│ │ │ │ └── ICollectionViewGroup.cs
│ │ ├── Media
│ │ │ ├── SuppressNavigationTransitionInfo.cs
│ │ │ ├── NavigationTransitionInfo.cs
│ │ │ └── SlideNavigationTransitionEffect.cs
│ │ └── Input
│ │ │ ├── ExecuteRequestedEventArgs.cs
│ │ │ ├── CanExecuteRequestedEventArgs.cs
│ │ │ └── XamlUICommand.cs
│ ├── Converters
│ │ ├── InverseBooleanValueConverter.cs
│ │ ├── IBitmapToImageConverter.cs
│ │ ├── ScrollViewerVisibilityToBoolConverter.cs
│ │ ├── NativeMenuInverseBoolConverter.cs
│ │ ├── NUDSpinLocationConverter.cs
│ │ ├── ColorToBrushConv.cs
│ │ └── ColorShadeBrushConv.cs
│ └── Styling
│ │ ├── ControlThemes
│ │ ├── FAControls
│ │ │ └── BreadcrumbBar
│ │ │ │ └── BreadcrumbBarStyles.axaml
│ │ └── BasicControls
│ │ │ ├── ItemsControlStyles.axaml
│ │ │ ├── GridSplitterStyles.axaml
│ │ │ └── CarouselStyles.axaml
│ │ └── Core
│ │ └── FluentAvaloniaTheme.axaml
└── Directory.Build.props
├── Assets
└── FAIcon.png
├── samples
├── FAControlsGallery.Android
│ ├── environment.device.txt
│ ├── environment.emulator.txt
│ ├── Icon.png
│ ├── Resources
│ │ ├── values
│ │ │ ├── colors.xml
│ │ │ └── styles.xml
│ │ └── drawable
│ │ │ └── splash_screen.xml
│ ├── Properties
│ │ └── AndroidManifest.xml
│ └── MainActivity.cs
├── FAControlsGallery
│ ├── Assets
│ │ ├── FAIcon.ico
│ │ ├── rainier.jpg
│ │ ├── headerimage.jpeg
│ │ ├── Icons
│ │ │ ├── DataIcon.png
│ │ │ ├── DateIcon.png
│ │ │ ├── ListIcon.png
│ │ │ ├── MenuIcon.png
│ │ │ ├── MiscIcon.png
│ │ │ ├── TextIcon.png
│ │ │ ├── ViewIcon.png
│ │ │ ├── FrameIcon.png
│ │ │ ├── IconsIcon.png
│ │ │ ├── InfoBarIcon.png
│ │ │ ├── RangeIcon.png
│ │ │ ├── TabViewIcon.png
│ │ │ ├── AppWindowIcon.png
│ │ │ ├── InfoBadgeIcon.png
│ │ │ ├── NumberBoxIcon.png
│ │ │ ├── BasicInputIcon.png
│ │ │ ├── ColorPickerIcon.png
│ │ │ ├── CommandBarIcon.png
│ │ │ ├── FAComboBoxIcon.png
│ │ │ ├── ProgressRingIcon.png
│ │ │ ├── RangeSliderIcon.png
│ │ │ ├── TaskDialogIcon.png
│ │ │ ├── TeachingTipIcon.png
│ │ │ ├── BreadcrumbBarIcon.png
│ │ │ ├── ContentDialogIcon.png
│ │ │ ├── NavigationViewIcon.png
│ │ │ ├── XamlUICommandIcon.png
│ │ │ ├── ColorPickerButtonIcon.png
│ │ │ ├── CommandBarFlyoutIcon.png
│ │ │ ├── HyperlinkButtonIcon.png
│ │ │ ├── PickerFlyoutBaseIcon.png
│ │ │ └── SettingsExpanderIcon.png
│ │ ├── Images
│ │ │ ├── Github.png
│ │ │ ├── AvGithub.png
│ │ │ ├── FAHeader2.png
│ │ │ ├── FluentDesign.png
│ │ │ ├── Documentation.png
│ │ │ ├── FAHeader2_Dark.png
│ │ │ ├── FAHeaderBackground.png
│ │ │ ├── FAHeader_NewControls.png
│ │ │ ├── FAHeader_CoreControls.png
│ │ │ ├── FAHeaderBackground_Dark.png
│ │ │ ├── FAHeader_NewControls_Dark.png
│ │ │ └── FAHeader_CoreControls_Dark.png
│ │ └── avalonia-logo.ico
│ ├── Pages
│ │ ├── SampleCode
│ │ │ ├── RangeSlider2.xaml.txt
│ │ │ ├── TeachingTip1.cs.txt
│ │ │ ├── TeachingTip2.cs.txt
│ │ │ ├── TeachingTip3.cs.txt
│ │ │ ├── RangeSlider1.xaml.txt
│ │ │ ├── XamlUICommand.cs.txt
│ │ │ ├── NumberBox3.cs.txt
│ │ │ ├── SettingsExpander1.xaml.txt
│ │ │ ├── TeachingTip1.xaml.txt
│ │ │ ├── TeachingTip2.xaml.txt
│ │ │ ├── Frame.xaml.txt
│ │ │ ├── StandardUICommand.cs.txt
│ │ │ ├── ContentDialogUsageNotes.txt
│ │ │ ├── TabView1.cs.txt
│ │ │ ├── NavView1.xaml.txt
│ │ │ ├── NavView2.xaml.txt
│ │ │ ├── NumberBox3UsageNotes.txt
│ │ │ ├── TabView1.xaml.txt
│ │ │ ├── XamlUICommandUsageNotes.txt
│ │ │ ├── CustomContentDialog.cs.txt
│ │ │ ├── TeachingTip3.xaml.txt
│ │ │ ├── TextCommandBarFlyoutUsageNotes.txt
│ │ │ ├── XamlUICommand.xaml.txt
│ │ │ ├── FAComboBox.cs.txt
│ │ │ ├── NavView5.xaml.txt
│ │ │ ├── CommandBar1.xaml.txt
│ │ │ ├── CommandBar2.xaml.txt
│ │ │ ├── CommandBar3.xaml.txt
│ │ │ ├── TabView3.xaml.txt
│ │ │ ├── CommandBarFlyout.cs.txt
│ │ │ ├── Breadcrumb2.xaml.txt
│ │ │ ├── SettingsExpander2.xaml.txt
│ │ │ ├── MenuFlyout.xaml.txt
│ │ │ ├── StandardUICommandUsageNotes.txt
│ │ │ ├── AppWindow3.cs.txt
│ │ │ ├── CommandBarFlyout.xaml.txt
│ │ │ ├── NavView4.xaml.txt
│ │ │ ├── TaskDialog1.xaml.txt
│ │ │ ├── AppWindow2.cs.txt
│ │ │ └── SettingsExpander3.cs.txt
│ │ ├── DesignPages
│ │ │ ├── FillColorsPage.axaml.cs
│ │ │ ├── TextColorsPage.axaml.cs
│ │ │ ├── SignalColorsPage.axaml.cs
│ │ │ ├── StrokeColorsPage.axaml.cs
│ │ │ └── BackgroundColorsPage.axaml.cs
│ │ ├── SamplePageAssets
│ │ │ ├── NVSamplePage1.axaml.cs
│ │ │ ├── NVSamplePage2.axaml.cs
│ │ │ ├── NVSamplePage3.axaml.cs
│ │ │ ├── NVSamplePage4.axaml.cs
│ │ │ ├── NVSamplePage5.axaml.cs
│ │ │ ├── NVSamplePage7.axaml.cs
│ │ │ ├── NVSamplePage6.axaml.cs
│ │ │ ├── NVSamplePageSettings.axaml.cs
│ │ │ ├── NVSamplePageSettings.axaml
│ │ │ ├── ContentDialogInputExample.axaml.cs
│ │ │ └── ContentDialogInputExample.axaml
│ │ ├── FAControlsPages
│ │ │ ├── RangeSliderPage.axaml.cs
│ │ │ ├── FAComboBoxPage.axaml.cs
│ │ │ ├── SettingsExpanderPage.axaml.cs
│ │ │ ├── CommandBarPage.axaml.cs
│ │ │ ├── PickerFlyoutBasePage.axaml.cs
│ │ │ ├── InfoBadgePage.axaml.cs
│ │ │ ├── MenuFlyoutPage.axaml.cs
│ │ │ ├── ContentDialogPage.axaml.cs
│ │ │ ├── TabViewWindowSampleContent.axaml.cs
│ │ │ ├── TabViewWindowSampleContent.axaml
│ │ │ ├── XamlUICommandPage.axaml.cs
│ │ │ ├── NumberBoxPage.axaml.cs
│ │ │ ├── TeachingTipPage.axaml.cs
│ │ │ ├── ProgressRingPage.axaml.cs
│ │ │ ├── DemoComplexSplashScreen.axaml
│ │ │ └── IconsPage.axaml.cs
│ │ └── CoreControlPages
│ │ │ ├── ListControlsPage.axaml.cs
│ │ │ ├── MenuControlsPage.axaml.cs
│ │ │ ├── MiscControlsPage.axaml.cs
│ │ │ ├── DateTimeControlsPage.axaml.cs
│ │ │ ├── BasicInputControlsPage.axaml.cs
│ │ │ ├── TextControlsPage.axaml.cs
│ │ │ └── ViewControlsPage.axaml.cs
│ ├── ViewModels
│ │ ├── DesignPages
│ │ │ ├── DesignPageViewModel.cs
│ │ │ └── TypographyItemViewModel.cs
│ │ ├── FAControlsJsonSerializerContext.cs
│ │ ├── FAControlPages
│ │ │ ├── CommandBarFlyoutPageViewModel.cs
│ │ │ ├── InfoBadgePageViewModel.cs
│ │ │ └── FAComboBoxPageViewModel.cs
│ │ ├── FACommand.cs
│ │ ├── PageBaseViewModel.cs
│ │ ├── CoreControlsPageViewModel.cs
│ │ └── FAControlsOverviewPageViewModel.cs
│ ├── Services
│ │ └── ClipboardService.cs
│ ├── Views
│ │ └── MainWindow.axaml
│ ├── Converters
│ │ ├── ResourceKeyToIconConverter.cs
│ │ ├── StringToBitmapConverter.cs
│ │ └── StringToURIConverter.cs
│ ├── App.axaml
│ ├── FAControlsGallery.csproj
│ └── App.axaml.cs
├── FAControlsGallery.Web
│ ├── AppBundle
│ │ ├── favicon.ico
│ │ ├── main.js
│ │ ├── index.html
│ │ └── Logo.svg
│ ├── runtimeconfig.template.json
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Program.cs
│ └── FAControlsGallery.Web.csproj
├── FAControlsGallery.iOS
│ ├── Entitlements.plist
│ ├── Main.cs
│ ├── AppDelegate.cs
│ └── FAControlsGallery.iOS.csproj
├── FAControlsGallery.Desktop
│ ├── Roots.xml
│ ├── Program.cs
│ ├── FAControlsGallery.Desktop.csproj
│ └── app.manifest
└── FASandbox
│ ├── App.axaml
│ ├── MainWindow.axaml.cs
│ ├── App.axaml.cs
│ ├── MainWindow.axaml
│ ├── Program.cs
│ ├── FASandbox.csproj
│ └── MainWindowViewModel.cs
├── tests
└── FluentAvaloniaTests
│ ├── xunit.runner.json
│ ├── ControlTests
│ ├── CommandBarTests.cs
│ └── CoreWindowTests.cs
│ ├── Helpers
│ ├── TestCommand.cs
│ └── UnitTestApplication.cs
│ └── FluentAvaloniaTests.csproj
├── nuget.config
├── .github
├── workflows
│ └── build.yml
└── ISSUE_TEMPLATE
│ ├── feature_request.md
│ └── bug_report.md
└── LICENSE
/src/FluentAvalonia/Interop/.gitignore:
--------------------------------------------------------------------------------
1 | *.Generated.cs
2 |
--------------------------------------------------------------------------------
/Assets/FAIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/Assets/FAIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery.Android/environment.device.txt:
--------------------------------------------------------------------------------
1 | DOTNET_DiagnosticPorts=127.0.0.1:9000,suspend
2 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.Android/environment.emulator.txt:
--------------------------------------------------------------------------------
1 | DOTNET_DiagnosticPorts=10.0.2.2:9001,suspend
2 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.Android/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery.Android/Icon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/FAIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/FAIcon.ico
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/rainier.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/rainier.jpg
--------------------------------------------------------------------------------
/src/FluentAvalonia/Fonts/FluentAvalonia.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/src/FluentAvalonia/Fonts/FluentAvalonia.ttf
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/RangeSlider2.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/headerimage.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/headerimage.jpeg
--------------------------------------------------------------------------------
/src/FluentAvalonia/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.CompilerServices;
2 |
3 | [assembly: InternalsVisibleTo("FluentAvaloniaTests")]
4 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.Web/AppBundle/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery.Web/AppBundle/favicon.ico
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/DataIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/DataIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/DateIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/DateIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/ListIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/ListIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/MenuIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/MenuIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/MiscIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/MiscIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/TextIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/TextIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/ViewIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/ViewIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Images/Github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Images/Github.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/avalonia-logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/avalonia-logo.ico
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/FrameIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/FrameIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/IconsIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/IconsIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/InfoBarIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/InfoBarIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/RangeIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/RangeIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/TabViewIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/TabViewIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Images/AvGithub.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Images/AvGithub.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Images/FAHeader2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Images/FAHeader2.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/AppWindowIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/AppWindowIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/InfoBadgeIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/InfoBadgeIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/NumberBoxIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/NumberBoxIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Images/FluentDesign.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Images/FluentDesign.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/BasicInputIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/BasicInputIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/ColorPickerIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/ColorPickerIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/CommandBarIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/CommandBarIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/FAComboBoxIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/FAComboBoxIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/ProgressRingIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/ProgressRingIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/RangeSliderIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/RangeSliderIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/TaskDialogIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/TaskDialogIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/TeachingTipIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/TeachingTipIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Images/Documentation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Images/Documentation.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Images/FAHeader2_Dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Images/FAHeader2_Dark.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/BreadcrumbBarIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/BreadcrumbBarIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/ContentDialogIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/ContentDialogIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/NavigationViewIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/NavigationViewIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/XamlUICommandIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/XamlUICommandIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/TeachingTip1.cs.txt:
--------------------------------------------------------------------------------
1 | private void Button1Click(object sender, RoutedEventArgs e)
2 | {
3 | TeachingTip1.IsOpen = true;
4 | }
5 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/TeachingTip2.cs.txt:
--------------------------------------------------------------------------------
1 | private void Button2Click(object sender, RoutedEventArgs e)
2 | {
3 | TeachingTip2.IsOpen = true;
4 | }
5 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/TeachingTip3.cs.txt:
--------------------------------------------------------------------------------
1 | private void Button3Click(object sender, RoutedEventArgs e)
2 | {
3 | TeachingTip3.IsOpen = true;
4 | }
5 |
--------------------------------------------------------------------------------
/tests/FluentAvaloniaTests/xunit.runner.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://xunit.net/schema/current/xunit.runner.schema.json",
3 | "parallelizeTestCollections": false
4 | }
5 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/ColorPickerButtonIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/ColorPickerButtonIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/CommandBarFlyoutIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/CommandBarFlyoutIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/HyperlinkButtonIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/HyperlinkButtonIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/PickerFlyoutBaseIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/PickerFlyoutBaseIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Icons/SettingsExpanderIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Icons/SettingsExpanderIcon.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Images/FAHeaderBackground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Images/FAHeaderBackground.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Images/FAHeader_NewControls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Images/FAHeader_NewControls.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Images/FAHeader_CoreControls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Images/FAHeader_CoreControls.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery.Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
5 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Images/FAHeaderBackground_Dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Images/FAHeaderBackground_Dark.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Images/FAHeader_NewControls_Dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Images/FAHeader_NewControls_Dark.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/RangeSlider1.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Assets/Images/FAHeader_CoreControls_Dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amwx/FluentAvalonia/HEAD/samples/FAControlsGallery/Assets/Images/FAHeader_CoreControls_Dark.png
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/XamlUICommand.cs.txt:
--------------------------------------------------------------------------------
1 | public void CustomXamlUICommand_ExecuteRequested(XamlUICommand command, ExecuteRequestedEventArgs args)
2 | {
3 | // handle event
4 | }
5 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/Core/Internal/ModuleInitializerAttribute.cs:
--------------------------------------------------------------------------------
1 | #if !NET5_0_OR_GREATER
2 | namespace System.Runtime.CompilerServices;
3 |
4 | public class ModuleInitializerAttribute : Attribute
5 | {
6 | }
7 | #endif
8 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Controls/NavigationView/SelectionModel/SelectionModelSelectionChangedEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace FluentAvalonia.UI.Controls;
2 |
3 | internal class SelectionModelSelectionChangedEventArgs : EventArgs
4 | {
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.iOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/ViewModels/DesignPages/DesignPageViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace FAControlsGallery.ViewModels.DesignPages;
2 |
3 | public class DesignPageViewModel : MainPageViewModelBase
4 | {
5 | public int LastSelectedIndex { get; set; } = -1;
6 | }
7 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.Web/runtimeconfig.template.json:
--------------------------------------------------------------------------------
1 | {
2 | "wasmHostProperties": {
3 | "perHostConfig": [
4 | {
5 | "name": "browser",
6 | "html-path": "index.html",
7 | "Host": "browser"
8 | }
9 | ]
10 | }
11 | }
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Controls/TaskDialog/TaskDialogCheckBox.cs:
--------------------------------------------------------------------------------
1 | namespace FluentAvalonia.UI.Controls;
2 |
3 | ///
4 | /// Represents a CheckBox in a
5 | ///
6 | public class TaskDialogCheckBox : TaskDialogRadioButton
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/Interop/WinRT/WinRTSize.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.InteropServices;
2 |
3 | namespace FluentAvalonia.Interop.WinRT;
4 |
5 | [StructLayout(LayoutKind.Sequential, Pack = 4)]
6 | internal struct WinRTSize
7 | {
8 | public float Width;
9 | public float Height;
10 | }
11 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/NumberBox3.cs.txt:
--------------------------------------------------------------------------------
1 | var nm = this.FindControl("FormattedNumBox");
2 | nm.NumberFormatter = (input) =>
3 | {
4 | double increment = 1/0.25;
5 | return (Math.Round(input * increment, MidpointRounding.AwayFromZero) / increment).ToString("F2");
6 | };
7 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/Core/Internal/IsExternalInit.cs:
--------------------------------------------------------------------------------
1 | #if !NET5_0_OR_GREATER
2 |
3 | using System.ComponentModel;
4 |
5 | namespace System.Runtime.CompilerServices;
6 |
7 | [EditorBrowsable(EditorBrowsableState.Never)]
8 | internal static class IsExternalInit
9 | {
10 |
11 | }
12 |
13 | #endif
14 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/DesignPages/FillColorsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.DesignPages;
4 | public partial class FillColorsPage : UserControl
5 | {
6 | public FillColorsPage()
7 | {
8 | InitializeComponent();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/DesignPages/TextColorsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.DesignPages;
4 | public partial class TextColorsPage : UserControl
5 | {
6 | public TextColorsPage()
7 | {
8 | InitializeComponent();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/DesignPages/SignalColorsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.DesignPages;
4 | public partial class SignalColorsPage : UserControl
5 | {
6 | public SignalColorsPage()
7 | {
8 | InitializeComponent();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/DesignPages/StrokeColorsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.DesignPages;
4 | public partial class StrokeColorsPage : UserControl
5 | {
6 | public StrokeColorsPage()
7 | {
8 | InitializeComponent();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage1.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage1 : UserControl
6 | {
7 | public NVSamplePage1()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage2.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage2 : UserControl
6 | {
7 | public NVSamplePage2()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage3.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage3 : UserControl
6 | {
7 | public NVSamplePage3()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage4.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage4 : UserControl
6 | {
7 | public NVSamplePage4()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage5.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage5 : UserControl
6 | {
7 | public NVSamplePage5()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage7.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage7 : UserControl
6 | {
7 | public NVSamplePage7()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePage6.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePage6 : UserControl
6 | {
7 | public NVSamplePage6()
8 | {
9 | this.InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Controls/NavigationView/EventArgs/NavigationViewBackRequestedEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace FluentAvalonia.UI.Controls;
2 |
3 | ///
4 | /// Provides event data for the NavigationView.BackRequested event.
5 | ///
6 | public class NavigationViewBackRequestedEventArgs : EventArgs
7 | {
8 | }
9 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/DesignPages/BackgroundColorsPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.DesignPages;
4 | public partial class BackgroundColorsPage : UserControl
5 | {
6 | public BackgroundColorsPage()
7 | {
8 | InitializeComponent();
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/SettingsExpander1.xaml.txt:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.Desktop/Roots.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SamplePageAssets/NVSamplePageSettings.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Pages.NVSamplePages;
4 |
5 | public partial class NVSamplePageSettings : UserControl
6 | {
7 | public NVSamplePageSettings()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Services/ClipboardService.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FAControlsGallery.Services;
4 |
5 | public static class ClipboardService
6 | {
7 | public static TopLevel Owner { get; set; }
8 |
9 | public static Task SetTextAsync(string text) =>
10 | Owner.Clipboard.SetTextAsync(text);
11 | }
12 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/Interop/Helpers/MARGINS.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.InteropServices;
2 |
3 | namespace FluentAvalonia.Interop.Win32;
4 |
5 | [StructLayout(LayoutKind.Sequential)]
6 | internal struct MARGINS
7 | {
8 | public int leftWidth;
9 | public int rightWidth;
10 | public int topHeight;
11 | public int bottomHeight;
12 | }
13 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/Interop/Helpers/WINDOWPOS.cs:
--------------------------------------------------------------------------------
1 | namespace FluentAvalonia.Interop.Win32;
2 |
3 | #pragma warning disable 0649
4 |
5 | internal struct WINDOWPOS
6 | {
7 | public HWND hWnd;
8 | public HWND hWndInsertAfter;
9 | public int x;
10 | public int y;
11 | public int cx;
12 | public int cy;
13 | public uint flags;
14 | }
15 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.Android/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/samples/FASandbox/App.axaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.Web/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "FAControlsGallery.Web": {
4 | "commandName": "Project",
5 | "launchBrowser": true,
6 | "environmentVariables": {
7 | "ASPNETCORE_ENVIRONMENT": "Development"
8 | },
9 | "applicationUrl": "https://localhost:52048;http://localhost:52049"
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/TeachingTip1.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Data/CollectionView/LoadMoreItemsResult.cs:
--------------------------------------------------------------------------------
1 | namespace FluentAvalonia.UI.Data;
2 |
3 | ///
4 | /// Wraps the asynchronous results of a LoadMoreItemsAsync call
5 | ///
6 | public struct LoadMoreItemsResult
7 | {
8 | ///
9 | /// The number of items that were actually loaded
10 | ///
11 | public uint Count;
12 | }
13 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/FAControlsPages/RangeSliderPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class RangeSliderPage : ControlsPageBase
7 | {
8 | public RangeSliderPage()
9 | {
10 | InitializeComponent();
11 |
12 | TargetType = typeof(RangeSlider);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/TeachingTip2.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Controls/MenuFlyout/MenuFlyoutSeparator.cs:
--------------------------------------------------------------------------------
1 | namespace FluentAvalonia.UI.Controls;
2 |
3 | ///
4 | /// Represents a horizontal line that separates items in a
5 | ///
6 | public class MenuFlyoutSeparator : MenuFlyoutItemBase
7 | {
8 | static MenuFlyoutSeparator()
9 | {
10 | FocusableProperty.OverrideDefaultValue(false);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/tests/FluentAvaloniaTests/ControlTests/CommandBarTests.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using FluentAvalonia.UI.Controls;
7 | using FluentAvaloniaTests.Helpers;
8 |
9 | namespace FluentAvaloniaTests.ControlTests;
10 |
11 | // TODO: Make sure popups work in unit tests before we proceed here
12 | public class CommandBarTests
13 | {
14 | }
15 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Controls/Repeater/Phasing/QPCTimer.cs:
--------------------------------------------------------------------------------
1 | using System.Diagnostics;
2 |
3 | namespace FluentAvalonia.UI.Controls;
4 |
5 | internal class QPCTimer
6 | {
7 | public void Reset()
8 | {
9 | _stopwatch.Restart();
10 | }
11 |
12 | public long DurationInMilliseconds()
13 | {
14 | return _stopwatch.ElapsedMilliseconds;
15 | }
16 |
17 | private readonly Stopwatch _stopwatch = new Stopwatch();
18 | }
19 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.Android/Resources/drawable/splash_screen.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.iOS/Main.cs:
--------------------------------------------------------------------------------
1 | using UIKit;
2 |
3 | namespace FAControlsGallery.iOS;
4 |
5 | public class Application
6 | {
7 | // This is the main entry point of the application.
8 | static void Main(string[] args)
9 | {
10 | // if you want to use a different Application Delegate class from "AppDelegate"
11 | // you can specify it here.
12 | UIApplication.Main(args, null, typeof(AppDelegate));
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/Frame.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/ViewModels/FAControlsJsonSerializerContext.cs:
--------------------------------------------------------------------------------
1 | using System.Text.Json.Serialization;
2 | using FAControlsGallery.ViewModels.DesignPages;
3 |
4 | namespace FAControlsGallery.ViewModels;
5 |
6 | [JsonSerializable(typeof(List))]
7 | [JsonSerializable(typeof(List))]
8 | [JsonSerializable(typeof(List))]
9 | internal partial class FAControlsJsonSerializerContext : JsonSerializerContext
10 | {
11 | }
12 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/FAControlsPages/FAComboBoxPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using FAControlsGallery.ViewModels;
3 | using FluentAvalonia.UI.Controls;
4 |
5 | namespace FAControlsGallery.Pages;
6 | public partial class FAComboBoxPage : ControlsPageBase
7 | {
8 | public FAComboBoxPage()
9 | {
10 | InitializeComponent();
11 |
12 | DataContext = new FAComboBoxPageViewModel();
13 | TargetType = typeof(FAComboBox);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/StandardUICommand.cs.txt:
--------------------------------------------------------------------------------
1 | // In this case, we bind the StandardUICommand to a method in our ViewModel. You can also handle in code behind, if you wish.
2 |
3 | // List of items populating the ListBox
4 | public AvaloniaList TempItems { get; set; }
5 |
6 | // This is our method command
7 | public void DeleteItem(object param)
8 | {
9 | if (param != null)
10 | {
11 | TempItems.Remove(param.ToString());
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/Core/Delegates.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 |
3 | namespace FluentAvalonia.Core;
4 |
5 | ///
6 | /// EventHandler delegate with a explicit Type
7 | ///
8 | public delegate void TypedEventHandler(TSender sender, TResult args);
9 |
10 | ///
11 | /// Event handler for selection changed events
12 | ///
13 | public delegate void SelectionChangedEventHandler(object sender, SelectionChangedEventArgs args);
14 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Content.PM;
3 | using Avalonia.Android;
4 |
5 | namespace FAControlsGallery.Android;
6 |
7 | [Activity(Label = "FAControlsGallery.Android", Theme = "@style/MyTheme.NoActionBar",
8 | Icon = "@drawable/icon",
9 | MainLauncher = true,
10 | ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize)]
11 | public class MainActivity : AvaloniaMainActivity
12 | {
13 | }
14 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/FAControlsPages/SettingsExpanderPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using FAControlsGallery.ViewModels;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class SettingsExpanderPage : ControlsPageBase
7 | {
8 | public SettingsExpanderPage()
9 | {
10 | InitializeComponent();
11 |
12 | DataContext = new SettingsExpanderPageViewModel();
13 | TargetType = typeof(SettingsExpander);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Controls/Experimental/ConnectedAnimationConfiguration.cs:
--------------------------------------------------------------------------------
1 | // NOTE: This class is experimental and will not receive support.
2 | // Use at your own risk
3 |
4 | namespace FluentAvalonia.UI.Controls.Experimental;
5 |
6 | public abstract class ConnectedAnimationConfiguration { }
7 |
8 | public class DirectConnectedAnimationConfiguration : ConnectedAnimationConfiguration { }
9 |
10 | public class GravityConnectedAnimationConfiguration : ConnectedAnimationConfiguration { }
11 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.Web/AppBundle/main.js:
--------------------------------------------------------------------------------
1 | import { dotnet } from './dotnet.js'
2 |
3 | const is_browser = typeof window != "undefined";
4 | if (!is_browser) throw new Error(`Expected to be running in a browser`);
5 |
6 | const dotnetRuntime = await dotnet
7 | .withDiagnosticTracing(false)
8 | .withApplicationArgumentsFromQuery()
9 | .create();
10 |
11 | const config = dotnetRuntime.getConfig();
12 |
13 | await dotnetRuntime.runMainAndExit(config.mainAssemblyName, [window.location.search]);
14 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/Interop/Helpers/MENUITEMINFO.cs:
--------------------------------------------------------------------------------
1 | namespace FluentAvalonia.Interop.Win32;
2 |
3 | internal unsafe struct MENUITEMINFO
4 | {
5 | public uint cbSize;
6 | public uint fMask;
7 | public uint fType;
8 | public uint fState;
9 | public uint wID;
10 | public HMENU hSubMenu;
11 | public HBITMAP hbmpChecked;
12 | public HBITMAP hbmpUnchecked;
13 | public nuint dwItemData;
14 | public ushort* dwTypeData;
15 | public uint cch;
16 | public HBITMAP hbmpItem;
17 | }
18 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Controls/Repeater/Transitions/ItemCollectionTransitionCompletedEventArgs.cs:
--------------------------------------------------------------------------------
1 | #pragma warning disable
2 | using Avalonia.Controls;
3 |
4 | namespace FluentAvalonia.UI.Controls;
5 |
6 | public class ItemCollectionTransitionCompletedEventArgs : EventArgs
7 | {
8 | public ItemCollectionTransitionCompletedEventArgs(ItemCollectionTransition transition)
9 | {
10 |
11 | }
12 |
13 | public ItemCollectionTransition Transition { get; }
14 |
15 | public Control Element { get; }
16 | }
17 |
--------------------------------------------------------------------------------
/samples/FASandbox/MainWindow.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace FASandbox;
6 |
7 | public partial class MainWindow : Window
8 | {
9 | public MainWindow()
10 | {
11 | InitializeComponent();
12 |
13 | #if DEBUG
14 | this.AttachDevTools();
15 | #endif
16 | DataContext = new MainWindowViewModel();
17 | }
18 |
19 | private void InitializeComponent()
20 | {
21 | AvaloniaXamlLoader.Load(this);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.Web/Program.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Browser;
3 | using System.Runtime.Versioning;
4 | using System.Threading.Tasks;
5 |
6 | [assembly: SupportedOSPlatform("browser")]
7 |
8 | namespace FAControlsGallery.Web;
9 |
10 | public class Program
11 | {
12 | public static async Task Main(string[] args)
13 | {
14 | await BuildAvaloniaApp().StartBrowserAppAsync("out");
15 | }
16 |
17 | public static AppBuilder BuildAvaloniaApp() =>
18 | AppBuilder.Configure();
19 | }
20 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/ContentDialogUsageNotes.txt:
--------------------------------------------------------------------------------
1 | The ContentDialog shows in the OverlayLayer of the window, and does not use it's own HWND/Top Level window. This makes it compatible with non-desktop Application lifetimes. However, a TopLevel with a OverlayLayer must be present so ContentDialog cannot be launched on its own.
2 | Unlike WinUI, there is no constraint on the number of ContentDialogs a given TopLevel/Window can display at once. If this may happen, they will overlay each other and it is up to you to manage that state
3 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/FAControlsPages/CommandBarPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class CommandBarPage : ControlsPageBase
7 | {
8 | public CommandBarPage()
9 | {
10 | InitializeComponent();
11 |
12 | DataContext = this;
13 | TargetType = typeof(CommandBar);
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | AvaloniaXamlLoader.Load(this);
19 | }
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Media/SuppressNavigationTransitionInfo.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Animation;
3 |
4 | namespace FluentAvalonia.UI.Media.Animation;
5 |
6 | ///
7 | /// Specifies that animations are suppressed during navigation.
8 | ///
9 | public class SuppressNavigationTransitionInfo : NavigationTransitionInfo
10 | {
11 | public override void RunAnimation(Animatable ctrl, CancellationToken cancellationToken)
12 | {
13 | //Do nothing
14 | (ctrl as Visual).Opacity = 1;
15 | }
16 | }
17 |
18 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Input/ExecuteRequestedEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace FluentAvalonia.UI.Input;
2 |
3 | ///
4 | /// Provides event data for the ExecuteRequested event.
5 | ///
6 | public class ExecuteRequestedEventArgs : EventArgs
7 | {
8 | internal ExecuteRequestedEventArgs(object param)
9 | {
10 | Parameter = param;
11 | }
12 |
13 | ///
14 | /// Gets the command parameter passed into the Execute method that raised this event.
15 | ///
16 | public object Parameter { get; }
17 | }
18 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Controls/CommandBar/CommandBarItemsAlignment.cs:
--------------------------------------------------------------------------------
1 | namespace FluentAvalonia.UI.Controls;
2 |
3 | ///
4 | /// Defines constants that determine where the primary commands are shown
5 | /// in a
6 | ///
7 | public enum CommandBarItemsAlignment
8 | {
9 | ///
10 | /// The items are left-aligned on the CommandBar
11 | ///
12 | Left,
13 |
14 | ///
15 | /// The items are right-aligned on the CommandBar
16 | ///
17 | Right
18 | }
19 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Controls/CommandBarFlyout/TextControlButtons.cs:
--------------------------------------------------------------------------------
1 | namespace FluentAvalonia.UI.Controls;
2 |
3 | ///
4 | /// Defines constants to define which commands should be available
5 | /// in a
6 | ///
7 | internal enum TextControlButtons
8 | {
9 | None = 0x0000,
10 | Cut = 0x0001,
11 | Copy = 0x0002,
12 | Paste = 0x0004,
13 | Bold = 0x0008,
14 | Italic = 0x0010,
15 | Underline = 0x0020,
16 | Undo = 0x0040,
17 | Redo = 0x0080,
18 | SelectAll = 0x0100
19 | }
20 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/TabView1.cs.txt:
--------------------------------------------------------------------------------
1 | public class TabViewPageViewModel
2 | {
3 | public ObservableCollection Documents { get; }
4 |
5 | public FACommand AddDocumentCommand { get; }
6 |
7 | private void AddDocumentExecute(object obj)
8 | {
9 | Documents.Add(AddDocument(Documents.Count));
10 | }
11 | }
12 |
13 | public class DocumentItem
14 | {
15 | public string Header { get; set; }
16 |
17 | public IconSource IconSource { get; set; }
18 |
19 | public string Content { get; set; }
20 | }
21 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Views/MainWindow.axaml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Data/CollectionView/SortDirection.cs:
--------------------------------------------------------------------------------
1 | namespace FluentAvalonia.UI.Data;
2 |
3 | ///
4 | /// Defines constants that determine how a sorts
5 | /// the items in a CollectionView
6 | ///
7 | public enum SortDirection
8 | {
9 | ///
10 | /// The items are sorted in ascending order (A-Z, 0-9, etc)
11 | ///
12 | Ascending,
13 |
14 | ///
15 | /// The items are sorted in descending order (Z-A, 9-0, etc)
16 | ///
17 | Descending
18 | }
19 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/UI/Controls/ContentDialog/EventArgs/ContentDialogClosedEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace FluentAvalonia.UI.Controls;
2 |
3 | ///
4 | /// Provides data for the Closed event.
5 | ///
6 | public class ContentDialogClosedEventArgs : EventArgs
7 | {
8 | ///
9 | /// Gets the of the button click event.
10 | ///
11 | public ContentDialogResult Result { get; }
12 |
13 | internal ContentDialogClosedEventArgs(ContentDialogResult res)
14 | {
15 | Result = res;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/FAControlsPages/PickerFlyoutBasePage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls.Primitives;
3 |
4 | namespace FAControlsGallery.Pages;
5 |
6 | public partial class PickerFlyoutBasePage : ControlsPageBase
7 | {
8 | public PickerFlyoutBasePage()
9 | {
10 | InitializeComponent();
11 |
12 | TargetType = typeof(PickerFlyoutBase);
13 |
14 | DataContext = this;
15 | }
16 |
17 | private void InitializeComponent()
18 | {
19 | AvaloniaXamlLoader.Load(this);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/FluentAvalonia/Core/Attributes/NotImplementedAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace FluentAvalonia.Core.Attributes;
4 |
5 | ///
6 | /// Marks that a property or class has not been implemented in the FluentAvalonia version
7 | ///
8 | [AttributeUsage(AttributeTargets.All, AllowMultiple = false, Inherited = false)]
9 | public class NotImplementedAttribute : Attribute
10 | {
11 | ///
12 | /// Initializes a new instance of the class.
13 | ///
14 | public NotImplementedAttribute() { }
15 | }
16 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/FAControlsPages/InfoBadgePage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FAControlsGallery.ViewModels;
3 | using FluentAvalonia.UI.Controls;
4 |
5 | namespace FAControlsGallery.Pages;
6 |
7 | public partial class InfoBadgePage : ControlsPageBase
8 | {
9 | public InfoBadgePage()
10 | {
11 | InitializeComponent();
12 |
13 | DataContext = new InfoBadgePageViewModel();
14 | TargetType = typeof(InfoBadge);
15 | }
16 |
17 | private void InitializeComponent()
18 | {
19 | AvaloniaXamlLoader.Load(this);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/ViewModels/FAControlPages/CommandBarFlyoutPageViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace FAControlsGallery.ViewModels;
2 |
3 | public class CommandBarFlyoutPageViewModel : ViewModelBase
4 | {
5 | public CommandBarFlyoutPageViewModel()
6 | {
7 | FlyoutCommands = new FACommand(Execute);
8 | }
9 |
10 | public FACommand FlyoutCommands { get; }
11 |
12 | public void Execute(object @param)
13 | {
14 | LastAction = param.ToString();
15 | RaisePropertyChanged(nameof(LastAction));
16 | }
17 |
18 | private string LastAction { get; set; }
19 | }
20 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/NavView1.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/SampleCode/NavView2.xaml.txt:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery.iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.iOS;
3 | using Foundation;
4 |
5 | namespace FAControlsGallery.iOS;
6 |
7 | // The UIApplicationDelegate for the application. This class is responsible for launching the
8 | // User Interface of the application, as well as listening (and optionally responding) to
9 | // application events from iOS.
10 | [Register("AppDelegate")]
11 | public partial class AppDelegate : AvaloniaAppDelegate
12 | {
13 | protected override AppBuilder CustomizeAppBuilder(AppBuilder builder)
14 | {
15 | return builder;
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/Pages/FAControlsPages/MenuFlyoutPage.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Markup.Xaml;
2 | using FluentAvalonia.UI.Controls;
3 | using FAControlsGallery.ViewModels;
4 |
5 | namespace FAControlsGallery.Pages;
6 |
7 | public partial class MenuFlyoutPage : ControlsPageBase
8 | {
9 | public MenuFlyoutPage()
10 | {
11 | InitializeComponent();
12 |
13 | TargetType = typeof(FAMenuFlyout);
14 | DataContext = new MenuFlyoutPageViewModel();
15 | }
16 |
17 | private void InitializeComponent()
18 | {
19 | AvaloniaXamlLoader.Load(this);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/samples/FAControlsGallery/ViewModels/FACommand.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows.Input;
3 |
4 | namespace FAControlsGallery.ViewModels;
5 |
6 | public class FACommand : ICommand
7 | {
8 | public FACommand(Action