├── .gitignore ├── 3rdParty ├── Carleen.lib ├── DinoDNS │ ├── .editorconfig │ ├── .gitattributes │ ├── .github │ │ ├── FUNDING.yml │ │ ├── dependabot.yml │ │ ├── release-drafter.yml │ │ └── workflows │ │ │ ├── build.yml │ │ │ └── release-drafter.yml │ ├── .gitignore │ ├── CodeCoverage.runsettings │ ├── License.txt │ ├── README.md │ ├── TurnerSoftware.DinoDNS.sln │ ├── benchmarks │ │ ├── StaticDnsServer │ │ │ ├── Program.cs │ │ │ └── StaticDnsServer.csproj │ │ └── TurnerSoftware.DinoDNS.Benchmarks │ │ │ ├── BenchmarkConfig.cs │ │ │ ├── ExternalTestServer.cs │ │ │ ├── HostsFileResolverBenchmark.cs │ │ │ ├── Internal │ │ │ ├── DnsRawValueBenchmark.cs │ │ │ ├── HeaderReadWriteBenchmark.cs │ │ │ ├── MessageReadWriteBenchmark.cs │ │ │ ├── SequenceBytesBenchmark.cs │ │ │ └── SequentialBytesBenchmark.cs │ │ │ ├── NetworkStack │ │ │ ├── HttpsStackBenchmark.cs │ │ │ ├── NetworkStackBenchmark.cs │ │ │ ├── TcpStackBenchmark.cs │ │ │ ├── TlsStackBenchmark.cs │ │ │ └── UdpStackBenchmark.cs │ │ │ ├── Program.cs │ │ │ ├── QueryMessageWritingBenchmark.cs │ │ │ ├── ResponseMessageParsingBenchmark.cs │ │ │ └── TurnerSoftware.DinoDNS.Benchmarks.csproj │ ├── images │ │ └── icon.png │ ├── src │ │ ├── Directory.Build.props │ │ └── TurnerSoftware.DinoDNS │ │ │ ├── AssemblyInternals.cs │ │ │ ├── Connection │ │ │ ├── Listeners │ │ │ │ ├── IDnsQueryListener.cs │ │ │ │ ├── TcpQueryListener.cs │ │ │ │ ├── TlsQueryListener.cs │ │ │ │ └── UdpQueryListener.cs │ │ │ ├── Resolvers │ │ │ │ ├── DoQResolver.cs │ │ │ │ ├── HostsFileResolver.cs │ │ │ │ ├── IDnsResolver.cs │ │ │ │ ├── TcpResolver.cs │ │ │ │ ├── TlsResolver.cs │ │ │ │ ├── UdpResolver.cs │ │ │ │ └── UdpTcpDualResolver.cs │ │ │ ├── SocketMessageOrderer.cs │ │ │ └── TransitData.cs │ │ │ ├── ConnectionType.cs │ │ │ ├── DnsClient.cs │ │ │ ├── DnsClientExtensions.cs │ │ │ ├── DnsForwardingServer.cs │ │ │ ├── DnsHostsFile.cs │ │ │ ├── DnsHostsTokenReader.cs │ │ │ ├── DnsOptions.cs │ │ │ ├── DnsProtocolReader.cs │ │ │ ├── DnsProtocolWriter.cs │ │ │ ├── DnsServerBase.cs │ │ │ ├── Internal │ │ │ └── SeekableMemory.cs │ │ │ ├── NameServer.cs │ │ │ ├── NameServers.cs │ │ │ ├── Protocol │ │ │ ├── DnsClass.cs │ │ │ ├── DnsMessage.cs │ │ │ ├── DnsMessageExtensions.cs │ │ │ ├── DnsRawValue.cs │ │ │ ├── DnsType.cs │ │ │ ├── Header.cs │ │ │ ├── LabelSequence.Enumerator.cs │ │ │ ├── LabelSequence.Label.cs │ │ │ ├── LabelSequence.cs │ │ │ ├── Question.cs │ │ │ ├── QuestionCollection.cs │ │ │ ├── ResourceRecord.cs │ │ │ ├── ResourceRecordCollection.cs │ │ │ ├── ResourceRecordCollectionExtensions.cs │ │ │ └── ResourceRecords │ │ │ │ └── ARecord.cs │ │ │ ├── ServerEndPoint.cs │ │ │ └── TurnerSoftware.DinoDNS.csproj │ └── tests │ │ ├── Directory.Build.props │ │ ├── TurnerSoftware.DinoDNS.TestConsole │ │ ├── Program.cs │ │ └── TurnerSoftware.DinoDNS.TestConsole.csproj │ │ ├── TurnerSoftware.DinoDNS.TestServer │ │ ├── DnsTestServer.cs │ │ └── TurnerSoftware.DinoDNS.TestServer.csproj │ │ └── TurnerSoftware.DinoDNS.Tests │ │ ├── Connection │ │ ├── HttpsConnectionTests.cs │ │ ├── Resolvers │ │ │ ├── HostsFileResolverTests.cs │ │ │ └── UdpTcpDualResolverTests.cs │ │ ├── SocketMessageOrdererTests.cs │ │ ├── TcpConnectionTests.cs │ │ ├── TlsConnectionTests.cs │ │ └── UdpConnectionTests.cs │ │ ├── DnsHostsFileTests.cs │ │ ├── DnsHostsTokenReaderTests.cs │ │ ├── DnsProtocolReaderTests.Header.cs │ │ ├── DnsProtocolWriterExtensions.cs │ │ ├── DnsProtocolWriterTests.Header.cs │ │ ├── Protocol │ │ ├── DnsRawValueTests.cs │ │ ├── LabelSequenceEnumeratorTests.cs │ │ └── LabelSequenceLengthTests.cs │ │ └── TurnerSoftware.DinoDNS.Tests.csproj ├── FluentAvalonia │ ├── .editorconfig │ ├── .gitattributes │ ├── .github │ │ ├── CONTRIBUTING.md │ │ ├── ISSUE_TEMPLATE │ │ │ ├── bug_report.md │ │ │ └── feature_request.md │ │ └── workflows │ │ │ └── build.yml │ ├── .gitignore │ ├── Assets │ │ └── FAIcon.png │ ├── Directory.Packages.props │ ├── FluentAvalonia.sln │ ├── LICENSE │ ├── README.md │ ├── nuget.config │ ├── samples │ │ ├── FAControlsGallery.Android │ │ │ ├── FAControlsGallery.Android.csproj │ │ │ ├── Icon.png │ │ │ ├── MainActivity.cs │ │ │ ├── Properties │ │ │ │ └── AndroidManifest.xml │ │ │ ├── Resources │ │ │ │ ├── drawable │ │ │ │ │ └── splash_screen.xml │ │ │ │ └── values │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── styles.xml │ │ │ ├── environment.device.txt │ │ │ └── environment.emulator.txt │ │ ├── FAControlsGallery.Desktop │ │ │ ├── .gitignore │ │ │ ├── FAControlsGallery.Desktop.csproj │ │ │ ├── Program.cs │ │ │ ├── Roots.xml │ │ │ └── app.manifest │ │ ├── FAControlsGallery.Web │ │ │ ├── AppBundle │ │ │ │ ├── Logo.svg │ │ │ │ ├── app.css │ │ │ │ ├── favicon.ico │ │ │ │ ├── index.html │ │ │ │ └── main.js │ │ │ ├── FAControlsGallery.Web.csproj │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ └── runtimeconfig.template.json │ │ ├── FAControlsGallery.iOS │ │ │ ├── AppDelegate.cs │ │ │ ├── Entitlements.plist │ │ │ ├── FAControlsGallery.iOS.csproj │ │ │ ├── Info.plist │ │ │ ├── Main.cs │ │ │ └── Resources │ │ │ │ └── LaunchScreen.xib │ │ ├── FAControlsGallery │ │ │ ├── App.axaml │ │ │ ├── App.axaml.cs │ │ │ ├── Assets │ │ │ │ ├── CoreControlsGroups.json │ │ │ │ ├── FAControlsGroups.json │ │ │ │ ├── FAIcon.ico │ │ │ │ ├── FASymbolFontList.json │ │ │ │ ├── Icons │ │ │ │ │ ├── AppWindowIcon.png │ │ │ │ │ ├── BasicInputIcon.png │ │ │ │ │ ├── ColorPickerButtonIcon.png │ │ │ │ │ ├── ColorPickerIcon.png │ │ │ │ │ ├── CommandBarFlyoutIcon.png │ │ │ │ │ ├── CommandBarIcon.png │ │ │ │ │ ├── ContentDialogIcon.png │ │ │ │ │ ├── DataIcon.png │ │ │ │ │ ├── DateIcon.png │ │ │ │ │ ├── FAComboBoxIcon.png │ │ │ │ │ ├── FrameIcon.png │ │ │ │ │ ├── HyperlinkButtonIcon.png │ │ │ │ │ ├── IconsIcon.png │ │ │ │ │ ├── InfoBadgeIcon.png │ │ │ │ │ ├── InfoBarIcon.png │ │ │ │ │ ├── ListIcon.png │ │ │ │ │ ├── MenuIcon.png │ │ │ │ │ ├── MiscIcon.png │ │ │ │ │ ├── NavigationViewIcon.png │ │ │ │ │ ├── NumberBoxIcon.png │ │ │ │ │ ├── PickerFlyoutBaseIcon.png │ │ │ │ │ ├── RangeIcon.png │ │ │ │ │ ├── RangeSliderIcon.png │ │ │ │ │ ├── SettingsExpanderIcon.png │ │ │ │ │ ├── TabViewIcon.png │ │ │ │ │ ├── TaskDialogIcon.png │ │ │ │ │ ├── TeachingTipIcon.png │ │ │ │ │ ├── TextIcon.png │ │ │ │ │ ├── ViewIcon.png │ │ │ │ │ └── XamlUICommandIcon.png │ │ │ │ ├── Images │ │ │ │ │ ├── AvGithub.png │ │ │ │ │ ├── Documentation.png │ │ │ │ │ ├── FAHeader2.png │ │ │ │ │ ├── FAHeader2_Dark.png │ │ │ │ │ ├── FAHeaderBackground.png │ │ │ │ │ ├── FAHeaderBackground_Dark.png │ │ │ │ │ ├── FAHeader_CoreControls.png │ │ │ │ │ ├── FAHeader_CoreControls_Dark.png │ │ │ │ │ ├── FAHeader_NewControls.png │ │ │ │ │ ├── FAHeader_NewControls_Dark.png │ │ │ │ │ ├── FluentDesign.png │ │ │ │ │ └── Github.png │ │ │ │ ├── avalonia-logo.ico │ │ │ │ ├── headerimage.jpeg │ │ │ │ └── rainier.jpg │ │ │ ├── Controls │ │ │ │ ├── ColorTile.cs │ │ │ │ ├── ControlDefinitionOverlay.cs │ │ │ │ ├── ControlExample.cs │ │ │ │ ├── ControlExampleSubstitution.cs │ │ │ │ ├── DesignColorSection.cs │ │ │ │ ├── PageHeaderControl.cs │ │ │ │ └── SampleCodePresenter.cs │ │ │ ├── Converters │ │ │ │ ├── ResourceKeyToIconConverter.cs │ │ │ │ ├── StringToBitmapConverter.cs │ │ │ │ └── StringToURIConverter.cs │ │ │ ├── FAControlsGallery.csproj │ │ │ ├── Pages │ │ │ │ ├── ControlsPageBase.cs │ │ │ │ ├── CoreControlPages │ │ │ │ │ ├── BasicInputControlsPage.axaml │ │ │ │ │ ├── BasicInputControlsPage.axaml.cs │ │ │ │ │ ├── DataControlsPage.axaml │ │ │ │ │ ├── DataControlsPage.axaml.cs │ │ │ │ │ ├── DateTimeControlsPage.axaml │ │ │ │ │ ├── DateTimeControlsPage.axaml.cs │ │ │ │ │ ├── ListControlsPage.axaml │ │ │ │ │ ├── ListControlsPage.axaml.cs │ │ │ │ │ ├── MenuControlsPage.axaml │ │ │ │ │ ├── MenuControlsPage.axaml.cs │ │ │ │ │ ├── MiscControlsPage.axaml │ │ │ │ │ ├── MiscControlsPage.axaml.cs │ │ │ │ │ ├── RangeControlsPage.axaml │ │ │ │ │ ├── RangeControlsPage.axaml.cs │ │ │ │ │ ├── TextControlsPage.axaml │ │ │ │ │ ├── TextControlsPage.axaml.cs │ │ │ │ │ ├── ViewControlsPage.axaml │ │ │ │ │ └── ViewControlsPage.axaml.cs │ │ │ │ ├── CoreControlsPage.axaml │ │ │ │ ├── CoreControlsPage.axaml.cs │ │ │ │ ├── DesignPage.axaml │ │ │ │ ├── DesignPage.axaml.cs │ │ │ │ ├── DesignPages │ │ │ │ │ ├── BackgroundColorsPage.axaml │ │ │ │ │ ├── BackgroundColorsPage.axaml.cs │ │ │ │ │ ├── ColorsPage.axaml │ │ │ │ │ ├── ColorsPage.axaml.cs │ │ │ │ │ ├── DesignIconsPage.axaml │ │ │ │ │ ├── DesignIconsPage.axaml.cs │ │ │ │ │ ├── FillColorsPage.axaml │ │ │ │ │ ├── FillColorsPage.axaml.cs │ │ │ │ │ ├── SignalColorsPage.axaml │ │ │ │ │ ├── SignalColorsPage.axaml.cs │ │ │ │ │ ├── StrokeColorsPage.axaml │ │ │ │ │ ├── StrokeColorsPage.axaml.cs │ │ │ │ │ ├── TextColorsPage.axaml │ │ │ │ │ ├── TextColorsPage.axaml.cs │ │ │ │ │ ├── TypographyPage.axaml │ │ │ │ │ └── TypographyPage.axaml.cs │ │ │ │ ├── FAControlsOverviewPage.axaml │ │ │ │ ├── FAControlsOverviewPage.axaml.cs │ │ │ │ ├── FAControlsPages │ │ │ │ │ ├── AppWindowPage.axaml │ │ │ │ │ ├── AppWindowPage.axaml.cs │ │ │ │ │ ├── ColorPickerButtonPage.axaml │ │ │ │ │ ├── ColorPickerButtonPage.axaml.cs │ │ │ │ │ ├── ColorPickerPage.axaml │ │ │ │ │ ├── ColorPickerPage.axaml.cs │ │ │ │ │ ├── CommandBarFlyoutPage.axaml │ │ │ │ │ ├── CommandBarFlyoutPage.axaml.cs │ │ │ │ │ ├── CommandBarPage.axaml │ │ │ │ │ ├── CommandBarPage.axaml.cs │ │ │ │ │ ├── ContentDialogPage.axaml │ │ │ │ │ ├── ContentDialogPage.axaml.cs │ │ │ │ │ ├── DemoComplexSplashScreen.axaml │ │ │ │ │ ├── DemoComplexSplashScreen.axaml.cs │ │ │ │ │ ├── FAComboBoxPage.axaml │ │ │ │ │ ├── FAComboBoxPage.axaml.cs │ │ │ │ │ ├── FramePage.axaml │ │ │ │ │ ├── FramePage.axaml.cs │ │ │ │ │ ├── HyperlinkButtonPage.axaml │ │ │ │ │ ├── HyperlinkButtonPage.axaml.cs │ │ │ │ │ ├── IconsPage.axaml │ │ │ │ │ ├── IconsPage.axaml.cs │ │ │ │ │ ├── InfoBadgePage.axaml │ │ │ │ │ ├── InfoBadgePage.axaml.cs │ │ │ │ │ ├── InfoBarPage.axaml │ │ │ │ │ ├── InfoBarPage.axaml.cs │ │ │ │ │ ├── MenuFlyoutPage.axaml │ │ │ │ │ ├── MenuFlyoutPage.axaml.cs │ │ │ │ │ ├── NavigationViewPage.axaml │ │ │ │ │ ├── NavigationViewPage.axaml.cs │ │ │ │ │ ├── NumberBoxPage.axaml │ │ │ │ │ ├── NumberBoxPage.axaml.cs │ │ │ │ │ ├── PickerFlyoutBasePage.axaml │ │ │ │ │ ├── PickerFlyoutBasePage.axaml.cs │ │ │ │ │ ├── RangeSliderPage.axaml │ │ │ │ │ ├── RangeSliderPage.axaml.cs │ │ │ │ │ ├── SettingsExpanderPage.axaml │ │ │ │ │ ├── SettingsExpanderPage.axaml.cs │ │ │ │ │ ├── TabViewPage.axaml │ │ │ │ │ ├── TabViewPage.axaml.cs │ │ │ │ │ ├── TabViewWindowSampleContent.axaml │ │ │ │ │ ├── TabViewWindowSampleContent.axaml.cs │ │ │ │ │ ├── TabViewWindowingSample.axaml │ │ │ │ │ ├── TabViewWindowingSample.axaml.cs │ │ │ │ │ ├── TaskDialogPage.axaml │ │ │ │ │ ├── TaskDialogPage.axaml.cs │ │ │ │ │ ├── TeachingTipPage.axaml │ │ │ │ │ ├── TeachingTipPage.axaml.cs │ │ │ │ │ ├── XamlUICommandPage.axaml │ │ │ │ │ └── XamlUICommandPage.axaml.cs │ │ │ │ ├── HomePage.axaml │ │ │ │ ├── HomePage.axaml.cs │ │ │ │ ├── SampleCode │ │ │ │ │ ├── AppWindow1.cs.txt │ │ │ │ │ ├── AppWindow2.cs.txt │ │ │ │ │ ├── AppWindow3.cs.txt │ │ │ │ │ ├── CommandBar1.xaml.txt │ │ │ │ │ ├── CommandBar2.xaml.txt │ │ │ │ │ ├── CommandBar3.xaml.txt │ │ │ │ │ ├── CommandBarFlyout.cs.txt │ │ │ │ │ ├── CommandBarFlyout.xaml.txt │ │ │ │ │ ├── ContentDialogUsageNotes.txt │ │ │ │ │ ├── CustomContentDialog.cs.txt │ │ │ │ │ ├── FAComboBox.cs.txt │ │ │ │ │ ├── Frame.cs.txt │ │ │ │ │ ├── Frame.xaml.txt │ │ │ │ │ ├── Frame2.cs.txt │ │ │ │ │ ├── Frame3.cs.txt │ │ │ │ │ ├── InfoBadge2.xaml.txt │ │ │ │ │ ├── MenuFlyout.xaml.txt │ │ │ │ │ ├── MenuFlyout2.xaml.txt │ │ │ │ │ ├── NavView1.xaml.txt │ │ │ │ │ ├── NavView2.xaml.txt │ │ │ │ │ ├── NavView3.xaml.txt │ │ │ │ │ ├── NavView4.xaml.txt │ │ │ │ │ ├── NavView5.xaml.txt │ │ │ │ │ ├── NavView6.xaml.txt │ │ │ │ │ ├── NumberBox3.cs.txt │ │ │ │ │ ├── NumberBox3UsageNotes.txt │ │ │ │ │ ├── RangeSlider1.xaml.txt │ │ │ │ │ ├── RangeSlider2.xaml.txt │ │ │ │ │ ├── SettingsExpander1.xaml.txt │ │ │ │ │ ├── SettingsExpander2.xaml.txt │ │ │ │ │ ├── SettingsExpander3.cs.txt │ │ │ │ │ ├── SettingsExpander3.xaml.txt │ │ │ │ │ ├── StandardUICommand.cs.txt │ │ │ │ │ ├── StandardUICommand.xaml.txt │ │ │ │ │ ├── StandardUICommandUsageNotes.txt │ │ │ │ │ ├── TabView1.cs.txt │ │ │ │ │ ├── TabView1.xaml.txt │ │ │ │ │ ├── TabView2.cs.txt │ │ │ │ │ ├── TabView2.xaml.txt │ │ │ │ │ ├── TabView3.xaml.txt │ │ │ │ │ ├── TaskDialog1.cs.txt │ │ │ │ │ ├── TaskDialog1.xaml.txt │ │ │ │ │ ├── TaskDialog2.cs.txt │ │ │ │ │ ├── TaskDialog3.cs.txt │ │ │ │ │ ├── TeachingTip1.cs.txt │ │ │ │ │ ├── TeachingTip1.xaml.txt │ │ │ │ │ ├── TeachingTip2.cs.txt │ │ │ │ │ ├── TeachingTip2.xaml.txt │ │ │ │ │ ├── TeachingTip3.cs.txt │ │ │ │ │ ├── TeachingTip3.xaml.txt │ │ │ │ │ ├── TextCommandBarFlyoutUsageNotes.txt │ │ │ │ │ ├── XamlUICommand.cs.txt │ │ │ │ │ ├── XamlUICommand.xaml.txt │ │ │ │ │ └── XamlUICommandUsageNotes.txt │ │ │ │ ├── SamplePageAssets │ │ │ │ │ ├── ContentDialogInputExample.axaml │ │ │ │ │ ├── ContentDialogInputExample.axaml.cs │ │ │ │ │ ├── NVSamplePage1.axaml │ │ │ │ │ ├── NVSamplePage1.axaml.cs │ │ │ │ │ ├── NVSamplePage2.axaml │ │ │ │ │ ├── NVSamplePage2.axaml.cs │ │ │ │ │ ├── NVSamplePage3.axaml │ │ │ │ │ ├── NVSamplePage3.axaml.cs │ │ │ │ │ ├── NVSamplePage4.axaml │ │ │ │ │ ├── NVSamplePage4.axaml.cs │ │ │ │ │ ├── NVSamplePage5.axaml │ │ │ │ │ ├── NVSamplePage5.axaml.cs │ │ │ │ │ ├── NVSamplePage6.axaml │ │ │ │ │ ├── NVSamplePage6.axaml.cs │ │ │ │ │ ├── NVSamplePage7.axaml │ │ │ │ │ ├── NVSamplePage7.axaml.cs │ │ │ │ │ ├── NVSamplePageSettings.axaml │ │ │ │ │ └── NVSamplePageSettings.axaml.cs │ │ │ │ ├── SettingsPage.axaml │ │ │ │ └── SettingsPage.axaml.cs │ │ │ ├── Services │ │ │ │ ├── ClipboardService.cs │ │ │ │ ├── DialogHelper.cs │ │ │ │ └── NavigationService.cs │ │ │ ├── Styling │ │ │ │ ├── ColorTileStyles.axaml │ │ │ │ ├── ControlDefinitionOverlayStyles.axaml │ │ │ │ ├── ControlExampleStyles.axaml │ │ │ │ ├── ControlThemes.axaml │ │ │ │ ├── ControlsGalleryStyles.axaml │ │ │ │ ├── ControlsPageBaseStyles.axaml │ │ │ │ └── Resources.axaml │ │ │ ├── ViewModels │ │ │ │ ├── CoreControlsPageViewModel.cs │ │ │ │ ├── CoreControlsPages │ │ │ │ │ └── TextControlsPageViewModel.cs │ │ │ │ ├── DesignPages │ │ │ │ │ ├── DesignIconsPageViewModel.cs │ │ │ │ │ ├── DesignPageViewModel.cs │ │ │ │ │ └── TypographyItemViewModel.cs │ │ │ │ ├── FACommand.cs │ │ │ │ ├── FAControlPages │ │ │ │ │ ├── ColorPickerPageViewModel.cs │ │ │ │ │ ├── CommandBarFlyoutPageViewModel.cs │ │ │ │ │ ├── ContentDialogPageViewModel.cs │ │ │ │ │ ├── CustomContentDialogViewModel.cs │ │ │ │ │ ├── FAComboBoxPageViewModel.cs │ │ │ │ │ ├── IconElementPageViewModel.cs │ │ │ │ │ ├── InfoBadgePageViewModel.cs │ │ │ │ │ ├── InfoBarPageViewModel.cs │ │ │ │ │ ├── MenuFlyoutPageViewModel.cs │ │ │ │ │ ├── NavViewPageViewModel.cs │ │ │ │ │ ├── SettingsExpanderPageViewModel.cs │ │ │ │ │ ├── StandardUICommandPageViewModel.cs │ │ │ │ │ └── TabViewPageViewModel.cs │ │ │ │ ├── FAControlsOverviewPageViewModel.cs │ │ │ │ ├── HomePageViewModel.cs │ │ │ │ ├── MainViewViewModel.cs │ │ │ │ ├── PageBaseViewModel.cs │ │ │ │ ├── SettingsPageViewModel.cs │ │ │ │ └── ViewModelBase.cs │ │ │ └── Views │ │ │ │ ├── MainAppSplashContent.axaml │ │ │ │ ├── MainAppSplashContent.axaml.cs │ │ │ │ ├── MainView.axaml │ │ │ │ ├── MainView.axaml.cs │ │ │ │ ├── MainWindow.axaml │ │ │ │ └── MainWindow.axaml.cs │ │ └── FASandbox │ │ │ ├── .gitignore │ │ │ ├── App.axaml │ │ │ ├── App.axaml.cs │ │ │ ├── FASandbox.csproj │ │ │ ├── MainWindow.axaml │ │ │ ├── MainWindow.axaml.cs │ │ │ ├── MainWindowViewModel.cs │ │ │ └── Program.cs │ ├── src │ │ ├── Directory.Build.props │ │ ├── FluentAvalonia │ │ │ ├── Assets │ │ │ │ └── ControlStrings.json │ │ │ ├── Converters │ │ │ │ ├── ColorShadeBrushConv.cs │ │ │ │ ├── ColorToBrushConv.cs │ │ │ │ ├── IBitmapToImageConverter.cs │ │ │ │ ├── InverseBooleanValueConverter.cs │ │ │ │ ├── NUDSpinLocationConverter.cs │ │ │ │ ├── NativeMenuInverseBoolConverter.cs │ │ │ │ └── ScrollViewerVisibilityToBoolConverter.cs │ │ │ ├── Core │ │ │ │ ├── Attributes │ │ │ │ │ └── NotImplementedAttribute.cs │ │ │ │ ├── Deferral.cs │ │ │ │ ├── Delegates.cs │ │ │ │ ├── FACompositeDisposable.cs │ │ │ │ ├── FAUISettings.cs │ │ │ │ ├── IEnumerableExtensions.cs │ │ │ │ ├── Internal │ │ │ │ │ ├── IsExternalInit.cs │ │ │ │ │ ├── MathF.cs │ │ │ │ │ ├── MathHelpers.cs │ │ │ │ │ ├── ModuleInitializerAttribute.cs │ │ │ │ │ └── VisualStateHelper.cs │ │ │ │ ├── SharedPseudoclasses.cs │ │ │ │ ├── SimpleObserver.cs │ │ │ │ └── ThicknessExtensions.cs │ │ │ ├── FluentAvalonia.csproj │ │ │ ├── FodyWeavers.xml │ │ │ ├── Fonts │ │ │ │ ├── FluentSystemIcons-Resizable.ttf │ │ │ │ └── MiSans-Regular.otf │ │ │ ├── Interop │ │ │ │ ├── .gitignore │ │ │ │ ├── Helpers │ │ │ │ │ ├── BOOL.cs │ │ │ │ │ ├── COLORREF.cs │ │ │ │ │ ├── DWMWINDOWATTRIBUTE.cs │ │ │ │ │ ├── HBITMAP.cs │ │ │ │ │ ├── HINSTANCE.cs │ │ │ │ │ ├── HMENU.cs │ │ │ │ │ ├── HRESULT.cs │ │ │ │ │ ├── HWND.cs │ │ │ │ │ ├── LPARAM.cs │ │ │ │ │ ├── LRESULT.cs │ │ │ │ │ ├── MARGINS.cs │ │ │ │ │ ├── MENUITEMINFO.cs │ │ │ │ │ ├── NCCALCSIZE_PARAMS.cs │ │ │ │ │ ├── RECT.cs │ │ │ │ │ ├── WINDOWPOS.cs │ │ │ │ │ └── WPARAM.cs │ │ │ │ ├── OSVersionHelper.cs │ │ │ │ ├── Win32Interop.cs │ │ │ │ └── WinRT │ │ │ │ │ ├── WinRT.idl │ │ │ │ │ ├── WinRTColor.cs │ │ │ │ │ ├── WinRTInterop.cs │ │ │ │ │ └── WinRTSize.cs │ │ │ ├── Properties │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── Styling │ │ │ │ ├── ControlThemes │ │ │ │ │ ├── BasicControls │ │ │ │ │ │ ├── AutoCompleteBoxStyles.axaml │ │ │ │ │ │ ├── ButtonSpinnerStyles.axaml │ │ │ │ │ │ ├── ButtonStyles.axaml │ │ │ │ │ │ ├── CalendarDatePickerStyles.axaml │ │ │ │ │ │ ├── CalendarStyles.axaml │ │ │ │ │ │ ├── CaptionButtonStyles.axaml │ │ │ │ │ │ ├── CarouselStyles.axaml │ │ │ │ │ │ ├── CheckBoxStyles.axaml │ │ │ │ │ │ ├── ColorPicker │ │ │ │ │ │ │ ├── ColorPicker.axaml │ │ │ │ │ │ │ ├── ColorPickerStyles.axaml │ │ │ │ │ │ │ ├── ColorPreviewer.axaml │ │ │ │ │ │ │ ├── ColorSlider.axaml │ │ │ │ │ │ │ ├── ColorSpectrum.axaml │ │ │ │ │ │ │ └── ColorView.axaml │ │ │ │ │ │ ├── ComboBoxStyles.axaml │ │ │ │ │ │ ├── ContentControlStyles.axaml │ │ │ │ │ │ ├── DataGrid │ │ │ │ │ │ │ ├── DataGridCellStyles.axaml │ │ │ │ │ │ │ ├── DataGridColumnHeaderStyles.axaml │ │ │ │ │ │ │ ├── DataGridRowGroupHeaderStyles.axaml │ │ │ │ │ │ │ ├── DataGridRowHeaderStyles.axaml │ │ │ │ │ │ │ ├── DataGridRowStyles.axaml │ │ │ │ │ │ │ └── DataGridStyles.axaml │ │ │ │ │ │ ├── DataValidationErrorsStyles.axaml │ │ │ │ │ │ ├── DatePickerStyles.axaml │ │ │ │ │ │ ├── DropDownButtonStyles.axaml │ │ │ │ │ │ ├── EmbeddableControlRootStyles.axaml │ │ │ │ │ │ ├── ExpanderStyles.axaml │ │ │ │ │ │ ├── FlyoutPresenterStyles.axaml │ │ │ │ │ │ ├── FocusAdornerStyles.axaml │ │ │ │ │ │ ├── GridSplitterStyles.axaml │ │ │ │ │ │ ├── ItemsControlStyles.axaml │ │ │ │ │ │ ├── LabelStyles.axaml │ │ │ │ │ │ ├── ListBoxStyles.axaml │ │ │ │ │ │ ├── ManagedFileChooserStyles.axaml │ │ │ │ │ │ ├── MenuItemStyles.axaml │ │ │ │ │ │ ├── MenuStyles.axaml │ │ │ │ │ │ ├── NativeMenuBarStyles.axaml │ │ │ │ │ │ ├── NotificationCardStyles.axaml │ │ │ │ │ │ ├── NumericUpDownStyles.axaml │ │ │ │ │ │ ├── OverlayPopupHostStyles.axaml │ │ │ │ │ │ ├── PathIcon.axaml │ │ │ │ │ │ ├── PopupRootStyles.axaml │ │ │ │ │ │ ├── ProgressBarStyles.axaml │ │ │ │ │ │ ├── RadioButtonStyles.axaml │ │ │ │ │ │ ├── RefreshControlStyles.axaml │ │ │ │ │ │ ├── RepeatButtonStyles.axaml │ │ │ │ │ │ ├── ScrollBarStyles.axaml │ │ │ │ │ │ ├── ScrollViewerStyles.axaml │ │ │ │ │ │ ├── SliderStyles.axaml │ │ │ │ │ │ ├── SplitButtonStyles.axaml │ │ │ │ │ │ ├── SplitViewStyles.axaml │ │ │ │ │ │ ├── TabControlStyles.axaml │ │ │ │ │ │ ├── TabStripStyles.axaml │ │ │ │ │ │ ├── TextBlockStyles.axaml │ │ │ │ │ │ ├── TextBoxStyles.axaml │ │ │ │ │ │ ├── TimePickerStyles.axaml │ │ │ │ │ │ ├── TitleBarStyles.axaml │ │ │ │ │ │ ├── ToggleButtonStyles.axaml │ │ │ │ │ │ ├── ToggleSwitchStyles.axaml │ │ │ │ │ │ ├── ToolTipStyles.axaml │ │ │ │ │ │ ├── TransitioningContentControlStyles.axaml │ │ │ │ │ │ ├── TreeViewStyles.axaml │ │ │ │ │ │ ├── UserControlStyles.axaml │ │ │ │ │ │ ├── WindowNotificationManagerStyles.axaml │ │ │ │ │ │ └── WindowStyles.axaml │ │ │ │ │ ├── Controls.axaml │ │ │ │ │ └── FAControls │ │ │ │ │ │ ├── AppWindowStyles.axaml │ │ │ │ │ │ ├── ColorPickerButtonStyles.axaml │ │ │ │ │ │ ├── ColorPickerStyles.axaml │ │ │ │ │ │ ├── CommandBar │ │ │ │ │ │ ├── CommandBarButtonStyles.axaml │ │ │ │ │ │ ├── CommandBarElementContainerStyles.axaml │ │ │ │ │ │ ├── CommandBarFlyoutCommandBarStyles.axaml │ │ │ │ │ │ ├── CommandBarOverflowPresenterStyles.axaml │ │ │ │ │ │ ├── CommandBarSeparatorStyles.axaml │ │ │ │ │ │ ├── CommandBarStyles.axaml │ │ │ │ │ │ └── CommandBarToggleButtonStyles.axaml │ │ │ │ │ │ ├── ContentDialogStyles.axaml │ │ │ │ │ │ ├── FAComboBox │ │ │ │ │ │ ├── FAComboBoxItemStyles.axaml │ │ │ │ │ │ └── FAComboBoxStyles.axaml │ │ │ │ │ │ ├── FAMenuFlyout │ │ │ │ │ │ ├── FAMenuFlyoutPresenter.axaml │ │ │ │ │ │ ├── MenuFlyoutItemStyles.axaml │ │ │ │ │ │ ├── MenuFlyoutSeparatorStyles.axaml │ │ │ │ │ │ ├── MenuFlyoutSubItemStyles.axaml │ │ │ │ │ │ ├── RadioMenuFlyoutItemStyles.axaml │ │ │ │ │ │ └── ToggleMenuFlyoutItemStyles.axaml │ │ │ │ │ │ ├── FrameStyles.axaml │ │ │ │ │ │ ├── HyperlinkButtonStyles.axaml │ │ │ │ │ │ ├── InfoBadgeStyles.axaml │ │ │ │ │ │ ├── InfoBarStyles.axaml │ │ │ │ │ │ ├── NavigationView │ │ │ │ │ │ ├── NavigationViewBackButtonStyles.axaml │ │ │ │ │ │ ├── NavigationViewItemHeaderStyles.axaml │ │ │ │ │ │ ├── NavigationViewItemPresenterStyles.axaml │ │ │ │ │ │ ├── NavigationViewItemSeparatorStyles.axaml │ │ │ │ │ │ ├── NavigationViewItemStyles.axaml │ │ │ │ │ │ ├── NavigationViewSharedStyles.axaml │ │ │ │ │ │ └── NavigationViewStyles.axaml │ │ │ │ │ │ ├── NumberBoxStyles.axaml │ │ │ │ │ │ ├── PickerFlyoutPresenterStyles.axaml │ │ │ │ │ │ ├── RangeSliderStyles.axaml │ │ │ │ │ │ ├── SettingsExpander │ │ │ │ │ │ ├── SettingsExpanderItemStyles.axaml │ │ │ │ │ │ └── SettingsExpanderStyles.axaml │ │ │ │ │ │ ├── TabView │ │ │ │ │ │ ├── TabViewItemStyles.axaml │ │ │ │ │ │ ├── TabViewListViewStyles.axaml │ │ │ │ │ │ └── TabViewStyles.axaml │ │ │ │ │ │ ├── TaskDialog │ │ │ │ │ │ ├── TaskDialogButtonStyles.axaml │ │ │ │ │ │ ├── TaskDialogCommandStyles.axaml │ │ │ │ │ │ └── TaskDialogStyles.axaml │ │ │ │ │ │ └── TeachingTipStyles.axaml │ │ │ │ ├── Core │ │ │ │ │ ├── FluentAvaloniaTheme.axaml │ │ │ │ │ ├── FluentAvaloniaTheme.axaml.cs │ │ │ │ │ ├── FluentAvaloniaTheme.windows.cs │ │ │ │ │ ├── LinuxThemeResolver.cs │ │ │ │ │ └── TextVerticalAlignmentOverride.cs │ │ │ │ └── StylesV2 │ │ │ │ │ ├── Fluentv2.axaml │ │ │ │ │ └── Fluentv2Colors.axaml │ │ │ └── UI │ │ │ │ ├── Controls │ │ │ │ ├── Button │ │ │ │ │ └── HyperlinkButton.cs │ │ │ │ ├── ColorPicker │ │ │ │ │ ├── ColorChangedEventArgs.cs │ │ │ │ │ ├── ColorPaletteItem.cs │ │ │ │ │ ├── ColorPaletteItem.properties.cs │ │ │ │ │ ├── ColorPicker.properties.cs │ │ │ │ │ ├── ColorPickerComponent.cs │ │ │ │ │ ├── ColorPickerComponent.properties.cs │ │ │ │ │ ├── ColorRamp.cs │ │ │ │ │ ├── ColorRamp.properties.cs │ │ │ │ │ ├── ColorSpectrum.cs │ │ │ │ │ ├── ColorSpectrum.properties.cs │ │ │ │ │ ├── Enums │ │ │ │ │ │ ├── ColorComponent.cs │ │ │ │ │ │ ├── ColorSpectrumComponents.cs │ │ │ │ │ │ ├── ColorSpectrumShape.cs │ │ │ │ │ │ ├── ColorTextType.cs │ │ │ │ │ │ └── ColorUpdateReason.cs │ │ │ │ │ └── FAColorPicker.cs │ │ │ │ ├── ColorPickerButton │ │ │ │ │ ├── ColorButtonColorChangedEventArgs.cs │ │ │ │ │ ├── ColorPickerButton.cs │ │ │ │ │ └── ColorPickerButton.properties.cs │ │ │ │ ├── CommandBar │ │ │ │ │ ├── CommandBar.cs │ │ │ │ │ ├── CommandBar.properties.cs │ │ │ │ │ ├── CommandBarButton.cs │ │ │ │ │ ├── CommandBarButton.properties.cs │ │ │ │ │ ├── CommandBarButtonTemplateSettings.cs │ │ │ │ │ ├── CommandBarElementContainer.cs │ │ │ │ │ ├── CommandBarItemsAlignment.cs │ │ │ │ │ ├── CommandBarOverflowPresenter.cs │ │ │ │ │ ├── CommandBarSeparator.cs │ │ │ │ │ ├── CommandBarToggleButton.cs │ │ │ │ │ ├── CommandBarToggleButton.properties.cs │ │ │ │ │ ├── Enums │ │ │ │ │ │ ├── CommandBarClosedDisplayMode.cs │ │ │ │ │ │ ├── CommandBarDefaultLabelPosition.cs │ │ │ │ │ │ └── CommandBarOverflowButtonVisibility.cs │ │ │ │ │ └── ICommandBarElement.cs │ │ │ │ ├── CommandBarFlyout │ │ │ │ │ ├── CommandBarFlyout.cs │ │ │ │ │ ├── CommandBarFlyoutCommandBar.cs │ │ │ │ │ ├── TextCommandBarFlyout.cs │ │ │ │ │ └── TextControlButtons.cs │ │ │ │ ├── ContentDialog │ │ │ │ │ ├── ContentDialog.cs │ │ │ │ │ ├── ContentDialog.properties.cs │ │ │ │ │ ├── ContentDialogButton.cs │ │ │ │ │ ├── ContentDialogPlacement.cs │ │ │ │ │ ├── ContentDialogResult.cs │ │ │ │ │ └── EventArgs │ │ │ │ │ │ ├── ContentDialogButtonClickEventArgs.cs │ │ │ │ │ │ ├── ContentDialogClosedEventArgs.cs │ │ │ │ │ │ └── ContentDialogClosingEventArgs.cs │ │ │ │ ├── DataTemplateSelector.cs │ │ │ │ ├── Experimental │ │ │ │ │ ├── ConnectedAnimation.cs │ │ │ │ │ ├── ConnectedAnimationConfiguration.cs │ │ │ │ │ └── ConnectedAnimationService.cs │ │ │ │ ├── FABorder │ │ │ │ │ ├── BackgroundSizing.cs │ │ │ │ │ └── FABorder.cs │ │ │ │ ├── FAComboBox │ │ │ │ │ ├── FAComboBox.cs │ │ │ │ │ ├── FAComboBox.properties.cs │ │ │ │ │ ├── FAComboBoxAutomationPeer.cs │ │ │ │ │ ├── FAComboBoxItem.cs │ │ │ │ │ ├── FAComboBoxSelectionChangedTrigger.cs │ │ │ │ │ └── FAComboBoxTextSubmittedEventArgs.cs │ │ │ │ ├── Flyouts │ │ │ │ │ ├── ColorPickerFlyout.cs │ │ │ │ │ ├── PickerFlyoutBase.cs │ │ │ │ │ └── PickerFlyoutPresenter.cs │ │ │ │ ├── Frame │ │ │ │ │ ├── Frame.cs │ │ │ │ │ ├── Frame.properties.cs │ │ │ │ │ ├── FrameNavigationOptions.cs │ │ │ │ │ ├── INavigationPageFactory.cs │ │ │ │ │ ├── IPageStackEntry.cs │ │ │ │ │ ├── NavigatingCancelEventArgs.cs │ │ │ │ │ ├── NavigationEventArgs.cs │ │ │ │ │ ├── NavigationFailedEventArgs.cs │ │ │ │ │ ├── NavigationMode.cs │ │ │ │ │ ├── PageStackEntry.cs │ │ │ │ │ └── PageStackEntryWithoutReflection.cs │ │ │ │ ├── IconElement │ │ │ │ │ ├── BitmapIcon.cs │ │ │ │ │ ├── BitmapIcon.properties.cs │ │ │ │ │ ├── BitmapIconSource.cs │ │ │ │ │ ├── FAIconElement.cs │ │ │ │ │ ├── FAPathIcon.cs │ │ │ │ │ ├── FAPathIcon.properties.cs │ │ │ │ │ ├── FilledSymbol.cs │ │ │ │ │ ├── FontIcon.cs │ │ │ │ │ ├── FontIcon.properties.cs │ │ │ │ │ ├── FontIconSource.cs │ │ │ │ │ ├── IconHelpers.cs │ │ │ │ │ ├── IconSource.cs │ │ │ │ │ ├── IconSourceElement.cs │ │ │ │ │ ├── ImageIcon.cs │ │ │ │ │ ├── ImageIconSource.cs │ │ │ │ │ ├── PathIconSource.cs │ │ │ │ │ ├── Symbol.cs │ │ │ │ │ ├── SymbolConversion.cs │ │ │ │ │ ├── SymbolIcon.cs │ │ │ │ │ └── SymbolIconSource.cs │ │ │ │ ├── InfoBadge │ │ │ │ │ ├── InfoBadge.cs │ │ │ │ │ ├── InfoBadge.properties.cs │ │ │ │ │ └── InfoBadgeTemplateSettings.cs │ │ │ │ ├── InfoBar │ │ │ │ │ ├── InfoBar.cs │ │ │ │ │ ├── InfoBar.properties.cs │ │ │ │ │ ├── InfoBarClosedEventArgs.cs │ │ │ │ │ ├── InfoBarClosingEventArgs.cs │ │ │ │ │ ├── InfoBarEnums.cs │ │ │ │ │ ├── InfoBarPanel.cs │ │ │ │ │ └── InfoBarPanel.properties.cs │ │ │ │ ├── Internal │ │ │ │ │ ├── BorderRenderHelper.cs │ │ │ │ │ ├── DialogHost.cs │ │ │ │ │ ├── DragItemsCompletedEventArgs.cs │ │ │ │ │ └── DragItemsStartingEventArgs.cs │ │ │ │ ├── MenuFlyout │ │ │ │ │ ├── FAMenuFlyout.cs │ │ │ │ │ ├── FAMenuFlyoutPresenter.cs │ │ │ │ │ ├── MenuFlyoutItem.cs │ │ │ │ │ ├── MenuFlyoutItem.properties.cs │ │ │ │ │ ├── MenuFlyoutItemBase.cs │ │ │ │ │ ├── MenuFlyoutItemTemplateSettings.cs │ │ │ │ │ ├── MenuFlyoutSeparator.cs │ │ │ │ │ ├── MenuFlyoutSubItem.cs │ │ │ │ │ ├── MenuFlyoutSubItem.properties.cs │ │ │ │ │ ├── RadioMenuFlyoutItem.cs │ │ │ │ │ └── ToggleMenuFlyoutItem.cs │ │ │ │ ├── NavigationView │ │ │ │ │ ├── Data │ │ │ │ │ │ ├── SplitDataSourceBase.cs │ │ │ │ │ │ └── TopNavigationViewDataProvider.cs │ │ │ │ │ ├── Enums │ │ │ │ │ │ ├── NavViewEnums.cs │ │ │ │ │ │ ├── NavigationViewDisplayMode.cs │ │ │ │ │ │ └── NavigationViewPaneDisplayMode.cs │ │ │ │ │ ├── EventArgs │ │ │ │ │ │ ├── NavigationViewBackRequestedEventArgs.cs │ │ │ │ │ │ ├── NavigationViewDisplayModeChangedEventArgs.cs │ │ │ │ │ │ ├── NavigationViewItemCollapsedEventArgs.cs │ │ │ │ │ │ ├── NavigationViewItemExpandingEventArgs.cs │ │ │ │ │ │ ├── NavigationViewItemInvokedEventArgs.cs │ │ │ │ │ │ ├── NavigationViewPaneClosingEventArgs.cs │ │ │ │ │ │ └── NavigationViewSelectionChangedEventArgs.cs │ │ │ │ │ ├── Items │ │ │ │ │ │ ├── NavigationViewItem.cs │ │ │ │ │ │ ├── NavigationViewItem.properties.cs │ │ │ │ │ │ ├── NavigationViewItemBase.cs │ │ │ │ │ │ ├── NavigationViewItemHeader.cs │ │ │ │ │ │ ├── NavigationViewItemPresenter.cs │ │ │ │ │ │ ├── NavigationViewItemPresenter.properties.cs │ │ │ │ │ │ ├── NavigationViewItemPresenterTemplateSettings.cs │ │ │ │ │ │ └── NavigationViewItemSeparator.cs │ │ │ │ │ ├── NavigationView.cs │ │ │ │ │ ├── NavigationView.members.cs │ │ │ │ │ ├── NavigationView.properties.cs │ │ │ │ │ ├── NavigationViewItemsFactory.cs │ │ │ │ │ ├── NavigationViewTemplateSettings.cs │ │ │ │ │ └── SelectionModel │ │ │ │ │ │ ├── IndexPath.cs │ │ │ │ │ │ ├── IndexRange.cs │ │ │ │ │ │ ├── SelectedItems.cs │ │ │ │ │ │ ├── SelectionModel.cs │ │ │ │ │ │ ├── SelectionModelChildrenRequestedEventArgs.cs │ │ │ │ │ │ ├── SelectionModelSelectionChangedEventArgs.cs │ │ │ │ │ │ ├── SelectionNode.cs │ │ │ │ │ │ └── SelectionTreeHelper.cs │ │ │ │ ├── NumberBox │ │ │ │ │ ├── Enums.cs │ │ │ │ │ ├── NumberBox.cs │ │ │ │ │ ├── NumberBox.properties.cs │ │ │ │ │ ├── NumberBoxParser.cs │ │ │ │ │ └── NumberBoxValueChangedEventArgs.cs │ │ │ │ ├── RangeSlider │ │ │ │ │ ├── RangeChangedEventArgs.cs │ │ │ │ │ ├── RangeSlider.cs │ │ │ │ │ └── RangeSlider.props.cs │ │ │ │ ├── SettingsExpander │ │ │ │ │ ├── SettingsExpander.cs │ │ │ │ │ ├── SettingsExpander.properties.cs │ │ │ │ │ ├── SettingsExpanderItem.cs │ │ │ │ │ ├── SettingsExpanderItem.properties.cs │ │ │ │ │ └── SettingsExpanderTemplateSettings.cs │ │ │ │ ├── TabView │ │ │ │ │ ├── Enums │ │ │ │ │ │ ├── TabViewCloseButtonOverlayMode.cs │ │ │ │ │ │ └── TabViewWidthMode.cs │ │ │ │ │ ├── EventArgs │ │ │ │ │ │ ├── TabViewTabCloseRequestedEventArgs.cs │ │ │ │ │ │ ├── TabViewTabDragCompletedEventArgs.cs │ │ │ │ │ │ ├── TabViewTabDragStartingEventArgs.cs │ │ │ │ │ │ └── TabViewTabDroppedOutsideEventArgs.cs │ │ │ │ │ ├── TabView.cs │ │ │ │ │ ├── TabView.properties.cs │ │ │ │ │ ├── TabViewItem.cs │ │ │ │ │ ├── TabViewItem.properties.cs │ │ │ │ │ ├── TabViewItemTemplateSettings.cs │ │ │ │ │ ├── TabViewListView.cs │ │ │ │ │ └── TabViewStackPanel.cs │ │ │ │ ├── TaskDialog │ │ │ │ │ ├── Controls │ │ │ │ │ │ ├── TaskDialogButtonHost.cs │ │ │ │ │ │ └── TaskDialogCommandHost.cs │ │ │ │ │ ├── TaskDialog.cs │ │ │ │ │ ├── TaskDialog.properties.cs │ │ │ │ │ ├── TaskDialogButton.cs │ │ │ │ │ ├── TaskDialogButtonsPanel.cs │ │ │ │ │ ├── TaskDialogCheckBox.cs │ │ │ │ │ ├── TaskDialogClosingEventArgs.cs │ │ │ │ │ ├── TaskDialogCommand.cs │ │ │ │ │ ├── TaskDialogControl.cs │ │ │ │ │ ├── TaskDialogFooterVisibility.cs │ │ │ │ │ ├── TaskDialogProgressState.cs │ │ │ │ │ ├── TaskDialogRadioButton.cs │ │ │ │ │ └── TaskDialogStandardResult.cs │ │ │ │ └── TeachingTip │ │ │ │ │ ├── TeachingTip.cs │ │ │ │ │ ├── TeachingTip.props.cs │ │ │ │ │ ├── TeachingTipAutomationPeer.cs │ │ │ │ │ ├── TeachingTipCloseReason.cs │ │ │ │ │ ├── TeachingTipClosedEventArgs.cs │ │ │ │ │ ├── TeachingTipClosingEventArgs.cs │ │ │ │ │ ├── TeachingTipHeroContentPlacementMode.cs │ │ │ │ │ ├── TeachingTipPlacementMode.cs │ │ │ │ │ ├── TeachingTipTailVisibility.cs │ │ │ │ │ └── TeachingTipTemplateSettings.cs │ │ │ │ ├── Data │ │ │ │ ├── CollectionView │ │ │ │ │ ├── CollectionViewGroup.cs │ │ │ │ │ ├── CollectionViewSource.cs │ │ │ │ │ ├── CurrentChangingEventArgs.cs │ │ │ │ │ ├── GroupedDataCollectionView.cs │ │ │ │ │ ├── IAdvancedCollectionView.cs │ │ │ │ │ ├── ICollectionView.cs │ │ │ │ │ ├── ICollectionViewFactory.cs │ │ │ │ │ ├── ICollectionViewGroup.cs │ │ │ │ │ ├── IterableCollectionView.cs │ │ │ │ │ ├── LoadMoreItemsResult.cs │ │ │ │ │ ├── RefreshDeferer.cs │ │ │ │ │ ├── SortDescription.cs │ │ │ │ │ └── SortDirection.cs │ │ │ │ └── DataPackage.cs │ │ │ │ ├── FALocalizationHelper.cs │ │ │ │ ├── Input │ │ │ │ ├── CanExecuteRequestedEventArgs.cs │ │ │ │ ├── ExecuteRequestedEventArgs.cs │ │ │ │ ├── StandardUICommand.cs │ │ │ │ ├── StandardUICommandKind.cs │ │ │ │ ├── XamlUICommand.cs │ │ │ │ └── XamlUICommand.properties.cs │ │ │ │ ├── Media │ │ │ │ ├── Color2.cs │ │ │ │ ├── DrillInNavigationTransitionInfo.cs │ │ │ │ ├── EntranceNavigationTransitionInfo.cs │ │ │ │ ├── NavigationTransitionInfo.cs │ │ │ │ ├── SlideNavigationTransitionEffect.cs │ │ │ │ ├── SlideNavigationTransitionInfo.cs │ │ │ │ └── SuppressNavigationTransitionInfo.cs │ │ │ │ └── Windowing │ │ │ │ ├── AppWindow │ │ │ │ ├── AppWindow.cs │ │ │ │ ├── AppWindow.props.cs │ │ │ │ ├── AppWindowTemplateSettings.cs │ │ │ │ ├── AppWindowTitleBar.cs │ │ │ │ ├── IAppWindowPlatformFeatures.cs │ │ │ │ ├── IApplicationSplashScreen.cs │ │ │ │ ├── MinMaxCloseControl.cs │ │ │ │ └── SplashScreenContext.cs │ │ │ │ └── Win32 │ │ │ │ ├── AppWindow.win32.cs │ │ │ │ ├── Win32AppWindowFeatures.cs │ │ │ │ └── Win32WindowManager.cs │ │ └── SourceLink.props │ └── tests │ │ └── FluentAvaloniaTests │ │ ├── ControlTests │ │ ├── CommandBarTests.cs │ │ ├── ContentDialogTests.cs │ │ ├── CoreWindowTests.cs │ │ ├── FrameTests.cs │ │ ├── IconSourceTests.cs │ │ ├── NavigationViewTests.cs │ │ ├── RangeSliderTests.cs │ │ ├── TabViewTests.cs │ │ └── TaskDialogTests.cs │ │ ├── DataTests │ │ └── CollectionViewSourceTests.cs │ │ ├── FluentAvaloniaTests.csproj │ │ ├── Helpers │ │ ├── TestCommand.cs │ │ └── UnitTestApplication.cs │ │ ├── MediaTests │ │ └── Color2Tests.cs │ │ └── xunit.runner.json ├── LocalizationSourceGenerator.dll ├── WanaKanaShaapu │ ├── .github │ │ └── workflows │ │ │ ├── CI.yml │ │ │ └── release.yml │ ├── .gitignore │ ├── README.md │ ├── WanaKanaShaapu.UnitTest │ │ ├── CustomMappingUnitTests.cs │ │ ├── DefaultOptionsUnitTests.cs │ │ ├── IsHiraganaUnitTests.cs │ │ ├── IsJapaneseUnitTests.cs │ │ ├── IsKanaUnitTests.cs │ │ ├── IsKanjiUnitTests.cs │ │ ├── IsKatakanaUnitTests.cs │ │ ├── IsMixedUnitTests.cs │ │ ├── IsRomajiUnitTests.cs │ │ ├── KanaToHepburnTreeBuilderUnitTests.cs │ │ ├── PerformanceUnitTests.cs │ │ ├── RomajiToKanaTreeBuilderUnitTests.cs │ │ ├── StripOkuriganaUnitTests.cs │ │ ├── ToHiraganaUnitTests.cs │ │ ├── ToKanaUnitTests.cs │ │ ├── ToKatakanaUnitTests.cs │ │ ├── ToRomajiUnitTests.cs │ │ ├── TokenizationUnitTests.cs │ │ ├── TokenizeUnitTests.cs │ │ ├── TreeTraverserUnitTests.cs │ │ └── WanaKanaShaapu.UnitTests.csproj │ ├── WanaKanaShaapu.sln │ └── WanaKanaShaapu │ │ ├── CharacterRange.cs │ │ ├── Constants.cs │ │ ├── DefaultOptions.cs │ │ ├── Internal │ │ └── Utils.cs │ │ ├── Node.cs │ │ ├── Token.cs │ │ ├── Tokenization.cs │ │ ├── TreeBuilder.cs │ │ ├── TreeConstants.cs │ │ ├── TreeTraverser.cs │ │ ├── WanaKana.cs │ │ ├── WanaKanaShaapu.csproj │ │ └── wanikanilogo.png └── WebView2LoaderStatic.lib ├── Celestite.Desktop ├── Assets │ └── celestite-icon.ico ├── Celestite.Desktop.csproj ├── Program.cs ├── Properties │ └── launchSettings.json ├── app.manifest └── rd.xml ├── Celestite.sln ├── Celestite ├── App.axaml ├── App.axaml.cs ├── Assets │ ├── Cert │ │ ├── cacert.pem │ │ └── himari_proxy.pem │ ├── I18N │ │ ├── en-US.json │ │ └── zh-CN.json │ └── celestite-icon.png ├── Build.cs ├── Celestite.csproj ├── Configs │ ├── DmmConfig.cs │ └── LauncherConfig.cs ├── Controls │ ├── DmmGameExpander │ │ ├── DmmGameExpander.properties.cs │ │ └── DmmGameExpanderStyles.axaml │ └── Native │ │ └── WindowsWebView2Control.cs ├── Dialogs │ ├── DefaultLoginFormDialog.axaml │ ├── DefaultLoginFormDialog.axaml.cs │ ├── Games │ │ ├── AddBrowserGameDialog.axaml │ │ ├── AddBrowserGameDialog.axaml.cs │ │ ├── AddClientGameDialog.axaml │ │ ├── AddClientGameDialog.axaml.cs │ │ ├── AgreementCheckDialog.axaml │ │ ├── AgreementCheckDialog.axaml.cs │ │ ├── GameSettingsDialog.axaml │ │ ├── GameSettingsDialog.axaml.cs │ │ ├── HardwareRegDialog.axaml │ │ ├── HardwareRegDialog.axaml.cs │ │ ├── InstallGameDialog.axaml │ │ ├── InstallGameDialog.axaml.cs │ │ ├── UpdateGameDialog.axaml │ │ └── UpdateGameDialog.axaml.cs │ ├── HardwareListDialog.axaml │ ├── HardwareListDialog.axaml.cs │ ├── RegisterFormDialog.axaml │ └── RegisterFormDialog.axaml.cs ├── FodyWeavers.xml ├── I18N │ └── Localization.cs ├── LICENSE.txt ├── Network │ ├── AvaImageHelper.cs │ ├── Caching │ │ └── HttpCaching.cs │ ├── CelestiteBypassCore │ │ └── HttpHelperImplementation.cs │ ├── DmmAltHashLoginHelper.cs │ ├── DmmBrowserGameLaunchHelper.cs │ ├── DmmGamePlayerApiHelper.cs │ ├── DmmHermesHelper.cs │ ├── DmmOpenApiHelper.cs │ ├── DmmPersonalAccessHelper.cs │ ├── Downloader │ │ ├── IKashimaDownloader.cs │ │ ├── KashimaDownloadManager.cs │ │ └── KashimaDownloaderV1.cs │ ├── DynamicProxy │ │ ├── DynamicProxy.cs │ │ ├── FailedProxyCache.cs │ │ ├── HttpNoProxy.cs │ │ ├── IMultiWebProxy.cs │ │ ├── MultiProxy.cs │ │ ├── SimpleRegex.cs │ │ └── Windows │ │ │ ├── DynamicWindowsHttpProxy.cs │ │ │ ├── HttpWindowsProxy.cs │ │ │ ├── Interop.cs │ │ │ ├── RegistryMonitor.cs │ │ │ └── WinInetProxyHelper.cs │ ├── HttpHelper.cs │ ├── Models │ │ ├── ApiExtreaViewModel.cs │ │ ├── DmmGamePlayerApiEnums.cs │ │ ├── DmmGamePlayerApiRequest.cs │ │ ├── DmmGamePlayerApiResponse.cs │ │ ├── DmmGamePlayerApiSharedModel.cs │ │ ├── DmmOpenApiRequest.cs │ │ ├── DmmOpenApiResponse.cs │ │ └── ElectronCookie.cs │ └── NetworkOperationResult.cs ├── Pages │ ├── AccountPage.axaml │ ├── AccountPage.axaml.cs │ ├── Default │ │ ├── DmmProfileRegistrationPage.axaml │ │ ├── DmmProfileRegistrationPage.axaml.cs │ │ ├── LoginPage.axaml │ │ ├── LoginPage.axaml.cs │ │ ├── MainNavigationView.axaml │ │ └── MainNavigationView.axaml.cs │ ├── DownloadManagerPage.axaml │ ├── DownloadManagerPage.axaml.cs │ ├── GamesPage.axaml │ ├── GamesPage.axaml.cs │ ├── HomePage.axaml │ ├── HomePage.axaml.cs │ ├── MissionPage.axaml │ ├── MissionPage.axaml.cs │ ├── NotificationPage.axaml │ ├── NotificationPage.axaml.cs │ ├── SettingsPage.axaml │ └── SettingsPage.axaml.cs ├── Properties │ ├── launchSettings.json │ └── rd.xml ├── Styling │ └── Resources.axaml ├── Utils │ ├── Algorithm │ │ └── PathCommonPrefixFinder.cs │ ├── CommandLineHelper.cs │ ├── ConfigUtils.cs │ ├── Converters │ │ ├── FileSizeConverter.cs │ │ └── UnixEpochDateTimeConverter.cs │ ├── CyBase64.cs │ ├── FileUtils.cs │ ├── GCUtils.cs │ ├── Interop │ │ └── Windows │ │ │ ├── Carleen.cs │ │ │ ├── USER32.cs │ │ │ └── WIN32.cs │ ├── JwtUtils.cs │ ├── LaunchHelper.cs │ ├── NextDataParserUtils.cs │ ├── NotificationHelper.cs │ ├── ProcessUtils.cs │ ├── SingletonInstanceHelper.cs │ ├── SystemInfoUtils.cs │ └── WindowTrayHelper.cs ├── ViewModels │ ├── AppViewModel.cs │ ├── DefaultVM │ │ ├── DmmProfileRegistrationPageViewModel.cs │ │ └── LoginPageViewModel.cs │ ├── Dialogs │ │ ├── AddBrowserGameDialogViewModel.cs │ │ ├── AddClientGameDialogViewModel.cs │ │ ├── AgreementDialogViewModel.cs │ │ ├── DefaultLoginFormDialogViewModel.cs │ │ ├── GameSettingsDialogViewModel.cs │ │ ├── HardwareListDialogViewModel.cs │ │ ├── HardwareRegDialogViewModel.cs │ │ ├── InstallGameDialogViewModel.cs │ │ ├── RegisterFormDialogViewModel.cs │ │ └── UpdateGameDialogViewModel.cs │ ├── Navigation │ │ └── GameNavigationFactory.cs │ ├── NavigationFactory.cs │ ├── Pages │ │ ├── AccountPageViewModel.cs │ │ ├── DownloadManagerPageViewModel.cs │ │ ├── GamesPageViewModel.cs │ │ ├── HomePageViewModel.cs │ │ ├── MissionPageViewModel.cs │ │ ├── MissionParser.cs │ │ ├── NotificationPageViewModel.cs │ │ └── SettingsViewModel.cs │ ├── ViewModelBase.cs │ └── WebBrowser │ │ └── WebBrowserViewModel.cs └── Views │ ├── MainView.axaml │ ├── MainView.axaml.cs │ ├── MainWindow.axaml │ ├── MainWindow.axaml.cs │ ├── WebViewBrowser.axaml │ └── WebViewBrowser.axaml.cs ├── Directory.Build.props ├── LICENSE ├── LocalizationSourceGenerator ├── LocalizationSourceGenerator.cs └── LocalizationSourceGenerator.csproj ├── README.md ├── azure-pipelines.yml └── rd.xml /3rdParty/Carleen.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/Carleen.lib -------------------------------------------------------------------------------- /3rdParty/DinoDNS/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: Turnerj -------------------------------------------------------------------------------- /3rdParty/DinoDNS/.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: nuget 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | open-pull-requests-limit: 10 8 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/.github/release-drafter.yml: -------------------------------------------------------------------------------- 1 | name-template: '$RESOLVED_VERSION' 2 | tag-template: '$RESOLVED_VERSION' 3 | categories: 4 | - title: '🚀 Features' 5 | labels: 6 | - 'feature' 7 | - 'enhancement' 8 | - title: '🐛 Bug Fixes' 9 | labels: 10 | - 'bug' 11 | - 'bugfix' 12 | - title: '🧰 Maintenance' 13 | label: 14 | - 'dependencies' 15 | - 'maintenance' 16 | change-template: '- $TITLE by @$AUTHOR (#$NUMBER)' 17 | change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. 18 | version-resolver: 19 | major: 20 | labels: 21 | - 'major' 22 | minor: 23 | labels: 24 | - 'minor' 25 | patch: 26 | labels: 27 | - 'patch' 28 | default: patch 29 | template: | 30 | ## Changes 31 | 32 | $CHANGES -------------------------------------------------------------------------------- /3rdParty/DinoDNS/.github/workflows/release-drafter.yml: -------------------------------------------------------------------------------- 1 | name: Release Drafter 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | update_release_draft: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: release-drafter/release-drafter@v5 13 | env: 14 | GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} -------------------------------------------------------------------------------- /3rdParty/DinoDNS/CodeCoverage.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | cobertura 8 | [MongoFramework.Tests]* 9 | [MongoFramework]*,[MongoFramework.*]* 10 | Obsolete,GeneratedCodeAttribute,CompilerGeneratedAttribute 11 | true 12 | true 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/benchmarks/StaticDnsServer/StaticDnsServer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net6.0 6 | enable 7 | enable 8 | false 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/Internal/DnsRawValueBenchmark.cs: -------------------------------------------------------------------------------- 1 | using BenchmarkDotNet.Attributes; 2 | using TurnerSoftware.DinoDNS.Protocol; 3 | 4 | namespace TurnerSoftware.DinoDNS.Benchmarks.Internal; 5 | 6 | [Config(typeof(DefaultBenchmarkConfig))] 7 | public class DnsRawValueBenchmark 8 | { 9 | private readonly DnsRawValue ByteValue = new(new byte[] { 10 | 116, 11 | 101, 12 | 115, 13 | 116, 14 | 46, 15 | 119, 16 | 119, 17 | 119, 18 | 46, 19 | 101, 20 | 120, 21 | 97, 22 | 109, 23 | 112, 24 | 108, 25 | 101, 26 | 46, 27 | 111, 28 | 114, 29 | 103, 30 | }.AsMemory()); 31 | 32 | private readonly DnsRawValue CharValue = new("test.www.example.org".AsMemory()); 33 | 34 | [Benchmark] 35 | public bool Equality_Mixed() => ByteValue.Equals(CharValue); 36 | 37 | [Benchmark] 38 | public bool Equality_Byte() => ByteValue.Equals(ByteValue); 39 | 40 | [Benchmark] 41 | public bool Equality_Char() => CharValue.Equals(CharValue); 42 | } 43 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/Internal/SequenceBytesBenchmark.cs: -------------------------------------------------------------------------------- 1 | using BenchmarkDotNet.Attributes; 2 | using TurnerSoftware.DinoDNS.Protocol; 3 | 4 | namespace TurnerSoftware.DinoDNS.Benchmarks.Internal; 5 | 6 | [Config(typeof(IntrinsicBenchmarkConfig))] 7 | public class SequenceBytesBenchmark 8 | { 9 | private LabelSequence LabelSequence; 10 | 11 | [GlobalSetup] 12 | public void Setup() 13 | { 14 | var buffer = new byte[1024]; 15 | var writtenBytes = new DnsProtocolWriter(buffer.AsMemory()) 16 | .AppendLabel("www").AppendLabel("example").AppendLabel("org").AppendLabelSequenceEnd() 17 | .AppendLabel("test").AppendLabel("site").AppendPointer(4).AppendByte(0) 18 | .GetWrittenBytes(); 19 | 20 | new DnsProtocolReader(new(writtenBytes, 17)) 21 | .ReadLabelSequence(out LabelSequence); 22 | } 23 | 24 | [Benchmark] 25 | public int GetSequenceByteLength() 26 | { 27 | return LabelSequence.GetSequenceByteLength(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/Internal/SequentialBytesBenchmark.cs: -------------------------------------------------------------------------------- 1 | using BenchmarkDotNet.Attributes; 2 | using TurnerSoftware.DinoDNS.Protocol; 3 | 4 | namespace TurnerSoftware.DinoDNS.Benchmarks.Internal; 5 | 6 | [Config(typeof(IntrinsicBenchmarkConfig))] 7 | public class SequentialBytesBenchmark 8 | { 9 | private LabelSequence LabelSequence; 10 | 11 | [GlobalSetup] 12 | public void Setup() 13 | { 14 | var buffer = new byte[1024]; 15 | var messageBytes = new DnsProtocolWriter(buffer.AsMemory()) 16 | .AppendLabelSequence(new LabelSequence("test.www.example.org")) 17 | .GetWrittenBytes() 18 | .ToArray(); 19 | 20 | new DnsProtocolReader(messageBytes.AsMemory()) 21 | .ReadLabelSequence(out LabelSequence); 22 | } 23 | 24 | [Benchmark] 25 | public int GetSequentialByteLength() 26 | { 27 | return LabelSequence.GetSequentialByteLength(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/NetworkStack/HttpsStackBenchmark.cs: -------------------------------------------------------------------------------- 1 | using BenchmarkDotNet.Attributes; 2 | using TurnerSoftware.DinoDNS.Connection; 3 | using TurnerSoftware.DinoDNS.Protocol; 4 | 5 | namespace TurnerSoftware.DinoDNS.Benchmarks.NetworkStack; 6 | 7 | public class HttpsStackBenchmark : NetworkStackBenchmark 8 | { 9 | [GlobalSetup] 10 | public override void Setup() 11 | { 12 | base.Setup(); 13 | 14 | DinoDNS_DnsClient = new DnsClient(new NameServer[] { new(ServerEndPoint, new HttpsResolver(HttpConnectionClientOptions.Insecure)) }, DnsMessageOptions.Default); 15 | 16 | ExternalTestServer.StartHttps(); 17 | } 18 | 19 | [GlobalCleanup] 20 | public void Cleanup() 21 | { 22 | ExternalTestServer.Stop(); 23 | } 24 | 25 | 26 | [Benchmark(Baseline = true)] 27 | public async Task DinoDNS() 28 | { 29 | return await DinoDNS_DnsClient!.SendAsync(DinoDNS_Message); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/NetworkStack/TlsStackBenchmark.cs: -------------------------------------------------------------------------------- 1 | using BenchmarkDotNet.Attributes; 2 | using TurnerSoftware.DinoDNS.Connection; 3 | using TurnerSoftware.DinoDNS.Protocol; 4 | 5 | namespace TurnerSoftware.DinoDNS.Benchmarks.NetworkStack; 6 | 7 | public class TlsStackBenchmark : NetworkStackBenchmark 8 | { 9 | [GlobalSetup] 10 | public override void Setup() 11 | { 12 | base.Setup(); 13 | 14 | DinoDNS_DnsClient = new DnsClient(new NameServer[] { new(ServerEndPoint, new TlsResolver(TlsResolver.AuthOptions.DoNotValidate)) }, DnsMessageOptions.Default); 15 | 16 | ExternalTestServer.StartTls(); 17 | } 18 | 19 | [GlobalCleanup] 20 | public void Cleanup() 21 | { 22 | ExternalTestServer.Stop(); 23 | } 24 | 25 | 26 | [Benchmark(Baseline = true)] 27 | public async Task DinoDNS() 28 | { 29 | return await DinoDNS_DnsClient!.SendAsync(DinoDNS_Message); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/Program.cs: -------------------------------------------------------------------------------- 1 | using BenchmarkDotNet.Running; 2 | 3 | BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args); 4 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/benchmarks/TurnerSoftware.DinoDNS.Benchmarks/TurnerSoftware.DinoDNS.Benchmarks.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net6.0 6 | enable 7 | enable 8 | false 9 | true 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/DinoDNS/images/icon.png -------------------------------------------------------------------------------- /3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/AssemblyInternals.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | [assembly: InternalsVisibleTo("TurnerSoftware.DinoDNS.Tests")] -------------------------------------------------------------------------------- /3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Connection/Listeners/IDnsQueryListener.cs: -------------------------------------------------------------------------------- 1 | using System.Net; 2 | 3 | namespace TurnerSoftware.DinoDNS.Connection.Listeners; 4 | 5 | public delegate ValueTask OnDnsQueryCallback(ReadOnlyMemory requestBuffer, Memory responseBuffer, CancellationToken cancellationToken); 6 | 7 | public interface IDnsQueryListener 8 | { 9 | Task ListenAsync(IPEndPoint endPoint, OnDnsQueryCallback callback, DnsMessageOptions options, CancellationToken cancellationToken); 10 | } 11 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Connection/Resolvers/IDnsResolver.cs: -------------------------------------------------------------------------------- 1 | using System.Net; 2 | 3 | namespace TurnerSoftware.DinoDNS.Connection; 4 | 5 | public interface IDnsResolver 6 | { 7 | ValueTask SendMessageAsync(IPEndPoint endPoint, ReadOnlyMemory requestBuffer, Memory responseBuffer, CancellationToken cancellationToken); 8 | } 9 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Connection/Resolvers/UdpTcpDualResolver.cs: -------------------------------------------------------------------------------- 1 | using System.Net; 2 | using TurnerSoftware.DinoDNS.Protocol; 3 | 4 | namespace TurnerSoftware.DinoDNS.Connection; 5 | 6 | public sealed class UdpTcpDualResolver : IDnsResolver 7 | { 8 | public static readonly UdpTcpDualResolver Instance = new(); 9 | 10 | public async ValueTask SendMessageAsync(IPEndPoint endPoint, ReadOnlyMemory requestBuffer, Memory responseBuffer, CancellationToken cancellationToken) 11 | { 12 | var messageLength = await UdpResolver.Instance.SendMessageAsync(endPoint, requestBuffer, responseBuffer, cancellationToken).ConfigureAwait(false); 13 | 14 | new DnsProtocolReader(responseBuffer).ReadHeader(out var header); 15 | if (header.Flags.Truncation == Truncation.Yes) 16 | { 17 | messageLength = await TcpResolver.Instance.SendMessageAsync(endPoint, requestBuffer, responseBuffer, cancellationToken).ConfigureAwait(false); 18 | } 19 | 20 | return messageLength; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/ConnectionType.cs: -------------------------------------------------------------------------------- 1 | namespace TurnerSoftware.DinoDNS; 2 | 3 | public enum ConnectionType 4 | { 5 | /// 6 | /// A UDP-only connection. 7 | /// 8 | Udp, 9 | /// 10 | /// A TCP-only connection. 11 | /// 12 | Tcp, 13 | /// 14 | /// A UDP connection that falls back to TCP when the message is truncated. 15 | /// 16 | UdpWithTcpFallback, 17 | /// 18 | /// DNS over HTTPS. 19 | /// 20 | DoH, 21 | /// 22 | /// DNS over TLS. 23 | /// 24 | DoT, 25 | /// 26 | /// DNS over QUIC. 27 | /// 28 | DoQ 29 | } -------------------------------------------------------------------------------- /3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/DnsClientExtensions.cs: -------------------------------------------------------------------------------- 1 | using TurnerSoftware.DinoDNS.Protocol; 2 | 3 | namespace TurnerSoftware.DinoDNS; 4 | 5 | public static class DnsClientExtensions 6 | { 7 | private static ushort GetRandomIdentifier() => (ushort)Random.Shared.Next(ushort.MaxValue); 8 | 9 | public static async ValueTask QueryAsync(this DnsClient client, string query, DnsQueryType type, DnsClass dnsClass = DnsClass.IN, CancellationToken cancellationToken = default) 10 | => await client.QueryAsync(new Question(query, type, dnsClass), cancellationToken).ConfigureAwait(false); 11 | 12 | public static async ValueTask QueryAsync(this DnsClient client, Question question, CancellationToken cancellationToken = default) => await client.SendAsync( 13 | DnsMessage.CreateQuery(GetRandomIdentifier()).WithQuestions(new[] { question }), 14 | cancellationToken 15 | ).ConfigureAwait(false); 16 | } 17 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/DnsForwardingServer.cs: -------------------------------------------------------------------------------- 1 | namespace TurnerSoftware.DinoDNS; 2 | 3 | public class DnsForwardingServer : DnsServerBase 4 | { 5 | private readonly DnsClient Client; 6 | 7 | public DnsForwardingServer( 8 | NameServer[] nameServers, 9 | ServerEndPoint[] endPoints, 10 | DnsMessageOptions options 11 | ) : base(endPoints, options) 12 | { 13 | Client = new DnsClient(nameServers, options); 14 | } 15 | 16 | protected override async ValueTask OnReceiveAsync(ReadOnlyMemory requestBuffer, Memory responseBuffer, CancellationToken cancellationToken) 17 | { 18 | return await Client.SendAsync(requestBuffer, responseBuffer, cancellationToken).ConfigureAwait(false); 19 | } 20 | } -------------------------------------------------------------------------------- /3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Protocol/DnsClass.cs: -------------------------------------------------------------------------------- 1 | namespace TurnerSoftware.DinoDNS.Protocol; 2 | 3 | public enum DnsClass 4 | { 5 | IN = 1, 6 | ANY = 255 7 | } -------------------------------------------------------------------------------- /3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Protocol/DnsType.cs: -------------------------------------------------------------------------------- 1 | namespace TurnerSoftware.DinoDNS.Protocol; 2 | 3 | public enum DnsType 4 | { 5 | A = 1, 6 | NS = 2, 7 | CNAME = 5, 8 | SOA = 6, 9 | WKS = 11, 10 | PTR = 12, 11 | HINFO = 13, 12 | MINFO = 14, 13 | MX = 15, 14 | TXT = 16, 15 | AAAA = 28 16 | } 17 | 18 | 19 | public enum DnsQueryType 20 | { 21 | A = 1, 22 | NS = 2, 23 | CNAME = 5, 24 | SOA = 6, 25 | WKS = 11, 26 | PTR = 12, 27 | HINFO = 13, 28 | MINFO = 14, 29 | MX = 15, 30 | TXT = 16, 31 | AAAA = 28, 32 | 33 | AXFR = 252, 34 | ANY = 255 35 | } 36 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Protocol/Question.cs: -------------------------------------------------------------------------------- 1 | namespace TurnerSoftware.DinoDNS.Protocol; 2 | 3 | public readonly record struct Question(LabelSequence Query, DnsQueryType Type, DnsClass Class) 4 | { 5 | public override string ToString() => $"QNAME:{Query},QTYPE:{Type},QCLASS:{Class}"; 6 | } -------------------------------------------------------------------------------- /3rdParty/DinoDNS/src/TurnerSoftware.DinoDNS/Protocol/ResourceRecordCollectionExtensions.cs: -------------------------------------------------------------------------------- 1 | using TurnerSoftware.DinoDNS.Protocol.ResourceRecords; 2 | 3 | namespace TurnerSoftware.DinoDNS.Protocol; 4 | 5 | public static class ResourceRecordCollectionExtensions 6 | { 7 | private static IEnumerable SelectWhere(ResourceRecordCollection resourceRecords, DnsType type, Func map) 8 | { 9 | foreach (var record in resourceRecords) 10 | { 11 | if (record.Type == type) 12 | { 13 | yield return map(record); 14 | } 15 | } 16 | } 17 | 18 | public static IEnumerable WithARecords(this ResourceRecordCollection resourceRecords) 19 | => SelectWhere(resourceRecords, DnsType.A, r => new ARecord(r)); 20 | } 21 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/tests/Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Latest 5 | 6 | 7 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/tests/TurnerSoftware.DinoDNS.TestConsole/TurnerSoftware.DinoDNS.TestConsole.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net6.0 6 | enable 7 | enable 8 | false 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/tests/TurnerSoftware.DinoDNS.TestServer/TurnerSoftware.DinoDNS.TestServer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | enable 6 | enable 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/tests/TurnerSoftware.DinoDNS.Tests/DnsProtocolWriterExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace TurnerSoftware.DinoDNS.Tests; 2 | 3 | internal static class DnsProtocolWriterExtensions 4 | { 5 | public static byte[] EndLabelSequence(this DnsProtocolWriter protocolWriter) 6 | { 7 | return protocolWriter.AppendLabelSequenceEnd().GetWrittenBytes().ToArray(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /3rdParty/DinoDNS/tests/TurnerSoftware.DinoDNS.Tests/TurnerSoftware.DinoDNS.Tests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | enable 6 | 7 | false 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: " Create a report to help us improve" 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is and any steps to reproduce it. Sample code or a minimal repro is helpful. 12 | 13 | **Screenshots** 14 | If applicable, add screenshots to help explain your problem. 15 | 16 | **Desktop/Platform (please complete the following information):** 17 | - OS: [e.g. Windows (11/10), linux (distro), osx, wasm, etc] 18 | - FluentAvalonia Version [e.g. 1.0.0, or latest] 19 | - Avalonia Version [e.g. 0.10.10] 20 | 21 | **Additional context** 22 | Add any other context about the problem here. 23 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build .NET 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | jobs: 10 | build: 11 | strategy: 12 | matrix: 13 | os: [ubuntu-latest, windows-latest, macos-latest] 14 | fail-fast: false 15 | name: Build ${{ matrix.os }} 16 | runs-on: ${{ matrix.os }} 17 | steps: 18 | - uses: actions/checkout@v3 19 | - name: Setup .NET 20 | uses: actions/setup-dotnet@v2 21 | with: 22 | dotnet-version: '6.0.x' 23 | - name: Build 24 | run: dotnet build -c Release 25 | - name: Test 26 | run: dotnet test -c Release 27 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/Assets/FAIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/Assets/FAIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/nuget.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/Icon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/Resources/drawable/splash_screen.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | #FFFFFF 4 | 5 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/Resources/values/styles.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 14 | 15 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/environment.device.txt: -------------------------------------------------------------------------------- 1 | DOTNET_DiagnosticPorts=127.0.0.1:9000,suspend 2 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.Android/environment.emulator.txt: -------------------------------------------------------------------------------- 1 | DOTNET_DiagnosticPorts=10.0.2.2:9001,suspend 2 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.Desktop/FAControlsGallery.Desktop.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | WinExe 4 | net8.0-windows 5 | true 6 | app.manifest 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.Desktop/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Avalonia; 3 | 4 | namespace FAControlsGallery.Desktop; 5 | 6 | internal class Program 7 | { 8 | // Initialization code. Don't use any Avalonia, third-party APIs or any 9 | // SynchronizationContext-reliant code before AppMain is called: things aren't initialized 10 | // yet and stuff might break. 11 | [STAThread] 12 | public static void Main(string[] args) => BuildAvaloniaApp() 13 | .StartWithClassicDesktopLifetime(args); 14 | 15 | // Avalonia configuration, don't remove; also used by visual designer. 16 | public static AppBuilder BuildAvaloniaApp() 17 | => AppBuilder.Configure() 18 | .UsePlatformDetect() 19 | .LogToTrace(); 20 | } 21 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.Desktop/Roots.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.Web/AppBundle/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery.Web/AppBundle/favicon.ico -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.Web/FAControlsGallery.Web.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | net8.0 4 | browser-wasm 5 | AppBundle\main.js 6 | Exe 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | } -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | } -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery.iOS/FAControlsGallery.iOS.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Exe 4 | net8.0 5 | 10.0 6 | manual 7 | iossimulator-x64 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/App.axaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/FAIcon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/FAIcon.ico -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/AppWindowIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/AppWindowIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/BasicInputIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/BasicInputIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ColorPickerButtonIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ColorPickerButtonIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ColorPickerIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ColorPickerIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/CommandBarFlyoutIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/CommandBarFlyoutIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/CommandBarIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/CommandBarIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ContentDialogIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ContentDialogIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/DataIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/DataIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/DateIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/DateIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/FAComboBoxIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/FAComboBoxIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/FrameIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/FrameIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/HyperlinkButtonIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/HyperlinkButtonIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/IconsIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/IconsIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/InfoBadgeIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/InfoBadgeIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/InfoBarIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/InfoBarIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ListIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ListIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/MenuIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/MenuIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/MiscIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/MiscIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/NavigationViewIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/NavigationViewIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/NumberBoxIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/NumberBoxIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/PickerFlyoutBaseIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/PickerFlyoutBaseIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/RangeIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/RangeIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/RangeSliderIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/RangeSliderIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/SettingsExpanderIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/SettingsExpanderIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TabViewIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TabViewIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TaskDialogIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TaskDialogIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TeachingTipIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TeachingTipIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TextIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/TextIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ViewIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/ViewIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/XamlUICommandIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Icons/XamlUICommandIcon.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/AvGithub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/AvGithub.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/Documentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/Documentation.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader2.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader2_Dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader2_Dark.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeaderBackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeaderBackground.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeaderBackground_Dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeaderBackground_Dark.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_CoreControls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_CoreControls.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_CoreControls_Dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_CoreControls_Dark.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_NewControls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_NewControls.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_NewControls_Dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FAHeader_NewControls_Dark.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FluentDesign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/FluentDesign.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/Github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/Images/Github.png -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/avalonia-logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/avalonia-logo.ico -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/headerimage.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/headerimage.jpeg -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/rainier.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kengxxiao/CelestiteLauncher/c5dcf1c87747a0481c1b6942b3649e92f14bd36a/3rdParty/FluentAvalonia/samples/FAControlsGallery/Assets/rainier.jpg -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Converters/ResourceKeyToIconConverter.cs: -------------------------------------------------------------------------------- 1 | using System.Globalization; 2 | using Avalonia; 3 | using Avalonia.Data.Converters; 4 | 5 | namespace FAControlsGallery.Converters; 6 | public class ResourceKeyToIconConverter : IValueConverter 7 | { 8 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 9 | { 10 | if (Application.Current.TryGetResource(value, null, out var icon)) 11 | { 12 | return icon; 13 | } 14 | 15 | return null; 16 | } 17 | 18 | object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 19 | { 20 | throw new NotImplementedException(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Converters/StringToBitmapConverter.cs: -------------------------------------------------------------------------------- 1 | using System.Globalization; 2 | using Avalonia; 3 | using Avalonia.Data.Converters; 4 | using Avalonia.Media.Imaging; 5 | using Avalonia.Platform; 6 | 7 | namespace FAControlsGallery.Converters; 8 | 9 | public class StringToBitmapConverter : IValueConverter 10 | { 11 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 12 | { 13 | try 14 | { 15 | using var s = AssetLoader.Open(new Uri(value.ToString())); 16 | return new Bitmap(s); 17 | } 18 | catch 19 | { 20 | return null; 21 | } 22 | } 23 | 24 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 25 | { 26 | throw new NotImplementedException(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Converters/StringToURIConverter.cs: -------------------------------------------------------------------------------- 1 | using System.Globalization; 2 | using Avalonia.Data.Converters; 3 | 4 | namespace FAControlsGallery.Converters; 5 | 6 | public class StringToURIConverter : IValueConverter 7 | { 8 | public static readonly string avares = "avares"; 9 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 10 | { 11 | value ??= parameter; 12 | 13 | if (!value.ToString().StartsWith(avares)) 14 | { 15 | value = $"avares://FAControlsGallery{value}"; 16 | } 17 | 18 | try 19 | { 20 | return new Uri(value.ToString()); 21 | } 22 | catch 23 | { 24 | return null; 25 | } 26 | } 27 | 28 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 29 | { 30 | throw new NotImplementedException(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/BasicInputControlsPage.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | using FluentAvalonia.UI.Controls; 3 | 4 | namespace FAControlsGallery.Pages; 5 | 6 | public partial class BasicInputControlsPage : ControlsPageBase 7 | { 8 | public BasicInputControlsPage() 9 | { 10 | InitializeComponent(); 11 | 12 | ControlName = "Basic Input Controls"; 13 | App.Current.Resources.TryGetResource("BasicInputPageIcon", null, out var icon); 14 | PreviewImage = (IconSource)icon; 15 | } 16 | 17 | private void InitializeComponent() 18 | { 19 | AvaloniaXamlLoader.Load(this); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/DateTimeControlsPage.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | using FluentAvalonia.UI.Controls; 3 | 4 | namespace FAControlsGallery.Pages; 5 | 6 | public partial class DateTimeControlsPage : ControlsPageBase 7 | { 8 | public DateTimeControlsPage() 9 | { 10 | InitializeComponent(); 11 | ControlName = "Date / Time Controls"; 12 | App.Current.Resources.TryGetResource("DatePageIcon", null, out var icon); 13 | PreviewImage = (IconSource)icon; 14 | } 15 | 16 | private void InitializeComponent() 17 | { 18 | AvaloniaXamlLoader.Load(this); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/ListControlsPage.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | using FluentAvalonia.UI.Controls; 3 | 4 | namespace FAControlsGallery.Pages; 5 | 6 | public partial class ListControlsPage : ControlsPageBase 7 | { 8 | public ListControlsPage() 9 | { 10 | InitializeComponent(); 11 | ControlName = "List Controls"; 12 | App.Current.Resources.TryGetResource("ListPageIcon", null, out var icon); 13 | PreviewImage = (IconSource)icon; 14 | } 15 | 16 | private void InitializeComponent() 17 | { 18 | AvaloniaXamlLoader.Load(this); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/MenuControlsPage.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | using FluentAvalonia.UI.Controls; 3 | 4 | namespace FAControlsGallery.Pages; 5 | 6 | public partial class MenuControlsPage : ControlsPageBase 7 | { 8 | public MenuControlsPage() 9 | { 10 | InitializeComponent(); 11 | ControlName = "Menu Controls"; 12 | App.Current.Resources.TryGetResource("MenusPageIcon", null, out var icon); 13 | PreviewImage = (IconSource)icon; 14 | } 15 | 16 | private void InitializeComponent() 17 | { 18 | AvaloniaXamlLoader.Load(this); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/MiscControlsPage.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | using FluentAvalonia.UI.Controls; 3 | 4 | namespace FAControlsGallery.Pages; 5 | 6 | public partial class MiscControlsPage : ControlsPageBase 7 | { 8 | public MiscControlsPage() 9 | { 10 | InitializeComponent(); 11 | ControlName = "Miscellaneous Controls"; 12 | App.Current.Resources.TryGetResource("MiscPageIcon", null, out var icon); 13 | PreviewImage = (IconSource)icon; 14 | } 15 | 16 | private void InitializeComponent() 17 | { 18 | AvaloniaXamlLoader.Load(this); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/TextControlsPage.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using FAControlsGallery.ViewModels; 4 | using FluentAvalonia.UI.Controls; 5 | 6 | namespace FAControlsGallery.Pages; 7 | 8 | public partial class TextControlsPage : ControlsPageBase 9 | { 10 | public TextControlsPage() 11 | { 12 | InitializeComponent(); 13 | ControlName = "Text Controls"; 14 | App.Current.Resources.TryGetResource("TextPageIcon", null, out var icon); 15 | PreviewImage = (IconSource)icon; 16 | 17 | DataContext = new TextControlsPageViewModel(); 18 | } 19 | 20 | private void InitializeComponent() 21 | { 22 | AvaloniaXamlLoader.Load(this); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/CoreControlPages/ViewControlsPage.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | using FluentAvalonia.UI.Controls; 3 | 4 | namespace FAControlsGallery.Pages; 5 | 6 | public partial class ViewControlsPage : ControlsPageBase 7 | { 8 | public ViewControlsPage() 9 | { 10 | InitializeComponent(); 11 | 12 | ControlName = "View Controls"; 13 | App.Current.Resources.TryGetResource("ViewPageIcon", null, out var icon); 14 | PreviewImage = (IconSource)icon; 15 | } 16 | 17 | private void InitializeComponent() 18 | { 19 | AvaloniaXamlLoader.Load(this); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/ColorPickerButtonPage.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | using FluentAvalonia.UI.Controls; 3 | 4 | namespace FAControlsGallery.Pages; 5 | 6 | public partial class ColorPickerButtonPage : ControlsPageBase 7 | { 8 | public ColorPickerButtonPage() 9 | { 10 | InitializeComponent(); 11 | 12 | DataContext = this; 13 | TargetType = typeof(ColorPickerButton); 14 | } 15 | 16 | private void InitializeComponent() 17 | { 18 | AvaloniaXamlLoader.Load(this); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/ColorPickerPage.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 ColorPickerPage : ControlsPageBase 8 | { 9 | public ColorPickerPage() 10 | { 11 | InitializeComponent(); 12 | 13 | DataContext = new ColorPickerPageViewModel(); 14 | TargetType = typeof(FAColorPicker); 15 | } 16 | 17 | private void InitializeComponent() 18 | { 19 | AvaloniaXamlLoader.Load(this); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/ContentDialogPage.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 ContentDialogPage : ControlsPageBase 8 | { 9 | public ContentDialogPage() 10 | { 11 | InitializeComponent(); 12 | 13 | DataContext = new ContentDialogPageViewModel(); 14 | TargetType = typeof(ContentDialog); 15 | } 16 | 17 | private void InitializeComponent() 18 | { 19 | AvaloniaXamlLoader.Load(this); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/HyperlinkButtonPage.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Interactivity; 2 | using Avalonia.Markup.Xaml; 3 | using FluentAvalonia.UI.Controls; 4 | 5 | namespace FAControlsGallery.Pages; 6 | 7 | public partial class HyperlinkButtonPage : ControlsPageBase 8 | { 9 | public HyperlinkButtonPage() 10 | { 11 | InitializeComponent(); 12 | 13 | TargetType = typeof(HyperlinkButton); 14 | } 15 | 16 | private void InitializeComponent() 17 | { 18 | AvaloniaXamlLoader.Load(this); 19 | } 20 | 21 | public void HyperlinkButton_Click(object sender, RoutedEventArgs args) 22 | { 23 | //NavigationService.Instance.Navigate(typeof(SettingsPage)); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/NumberBoxPage.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using FluentAvalonia.UI.Controls; 4 | 5 | namespace FAControlsGallery.Pages; 6 | 7 | public partial class NumberBoxPage : ControlsPageBase 8 | { 9 | public NumberBoxPage() 10 | { 11 | InitializeComponent(); 12 | 13 | TargetType = typeof(NumberBox); 14 | 15 | var nm = this.FindControl("FormattedNumBox"); 16 | nm.NumberFormatter = (input) => 17 | { 18 | double increment = 1 / 0.25; 19 | return (Math.Round(input * increment, MidpointRounding.AwayFromZero) / increment).ToString("F2"); 20 | }; 21 | 22 | DataContext = this; 23 | } 24 | 25 | private void InitializeComponent() 26 | { 27 | AvaloniaXamlLoader.Load(this); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/TabViewWindowSampleContent.axaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/TabViewWindowSampleContent.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace FAControlsGallery.Pages; 5 | 6 | public partial class TabViewWindowSampleContent : UserControl 7 | { 8 | public TabViewWindowSampleContent() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | public TabViewWindowSampleContent(string header) 14 | : this() 15 | { 16 | this.FindControl("HeaderContent").Text = header; 17 | } 18 | 19 | private void InitializeComponent() 20 | { 21 | AvaloniaXamlLoader.Load(this); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/TeachingTipPage.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Interactivity; 2 | using FluentAvalonia.UI.Controls; 3 | 4 | namespace FAControlsGallery.Pages; 5 | public partial class TeachingTipPage : ControlsPageBase 6 | { 7 | public TeachingTipPage() 8 | { 9 | InitializeComponent(); 10 | 11 | Button1.Click += Button1Click; 12 | Button2.Click += Button2Click; 13 | Button3.Click += Button3Click; 14 | 15 | TargetType = typeof(TeachingTip); 16 | } 17 | 18 | private void Button1Click(object sender, RoutedEventArgs e) 19 | { 20 | TeachingTip1.IsOpen = true; 21 | } 22 | 23 | private void Button2Click(object sender, RoutedEventArgs e) 24 | { 25 | TeachingTip2.IsOpen = true; 26 | } 27 | 28 | private void Button3Click(object sender, RoutedEventArgs e) 29 | { 30 | TeachingTip3.IsOpen = true; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/FAControlsPages/XamlUICommandPage.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using FAControlsGallery.ViewModels; 3 | using FluentAvalonia.UI.Input; 4 | 5 | namespace FAControlsGallery.Pages; 6 | 7 | public partial class XamlUICommandPage : ControlsPageBase 8 | { 9 | public XamlUICommandPage() 10 | { 11 | InitializeComponent(); 12 | 13 | DataContext = new StandardUICommandPageViewModel(); 14 | TargetType = typeof(XamlUICommand); 15 | } 16 | 17 | public void CustomXamlUICommand_ExecuteRequested(XamlUICommand command, ExecuteRequestedEventArgs args) 18 | { 19 | counter++; 20 | this.FindControl("XamlUICommandOutput").Text = $"You fired the custom command {counter} times"; 21 | } 22 | 23 | int counter = 0; 24 | } 25 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/CommandBar1.xaml.txt: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/CommandBar2.xaml.txt: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/CommandBar3.xaml.txt: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/CommandBarFlyout.cs.txt: -------------------------------------------------------------------------------- 1 | // We rely on code behind to show the flyout 2 | 3 | // Listen for the ContextRequested event so we can change the launch behavior based on whether it was a 4 | // left or right click. 5 | this.FindControl("myImageButton").ContextRequested += OnMyImageButtonContextRequested; 6 | 7 | private void MyImageButton_Click(object sender, RoutedEventArgs args) 8 | { 9 | ShowMenu(true); 10 | } 11 | 12 | private void OnMyImageButtonContextRequested(object sender, ContextRequestedEventArgs e) 13 | { 14 | ShowMenu(false); 15 | e.Handled = true; 16 | } 17 | 18 | private void ShowMenu(bool isTransient) 19 | { 20 | var flyout = Resources["CommandBarFlyout1"] as CommandBarFlyout; 21 | flyout.ShowMode = isTransient ? FlyoutShowMode.Transient : FlyoutShowMode.Standard; 22 | 23 | flyout.ShowAt(this.FindControl("Image1")); 24 | } 25 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/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 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/CustomContentDialog.cs.txt: -------------------------------------------------------------------------------- 1 | public async void ShowInputDialogAsync() 2 | { 3 | var dialog = new ContentDialog() 4 | { 5 | Title = "My Dialog Title", 6 | PrimaryButtonText = "Ok", 7 | SecondaryButtonText = "Not OK", 8 | CloseButtonText = "Close" 9 | }; 10 | 11 | // Pass the dialog if you need to hide it from the ViewModel. 12 | var viewModel = new MyViewModel(dialog); 13 | 14 | // In our case the Content is a UserControl, but can be anything. 15 | dialog.Content = new ContentDialogInputExample() 16 | { 17 | DataContext = viewModel 18 | }; 19 | 20 | var result = await dialog.ShowAsync(); 21 | } 22 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/FAComboBox.cs.txt: -------------------------------------------------------------------------------- 1 | public class FAComboBoxPageViewModel : ViewModelBase 2 | { 3 | public FAComboBoxPageViewModel() 4 | { 5 | Items = new List 6 | { 7 | new ComboItem("Red"), 8 | new ComboItem("Orange"), 9 | new ComboItem("Yellow"), 10 | new ComboItem("Green"), 11 | new ComboItem("Blue"), 12 | new ComboItem("Indigo"), 13 | new ComboItem("Violet"), 14 | new ComboItem("White"), 15 | new ComboItem("Black"), 16 | }; 17 | } 18 | 19 | public List Items { get; } 20 | } 21 | 22 | public class ComboItem 23 | { 24 | public ComboItem(string name) 25 | { 26 | DisplayName = name; 27 | } 28 | 29 | public string DisplayName { get; } 30 | } 31 | -------------------------------------------------------------------------------- /3rdParty/FluentAvalonia/samples/FAControlsGallery/Pages/SampleCode/Frame.xaml.txt: -------------------------------------------------------------------------------- 1 |  2 | 3 |