master bde437426e8a cached
1176 files
9.6 MB
2.6M tokens
4211 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (10,339K chars total). Download the full file to get everything.
Repository: MaterialDesignInXAML/MaterialDesignInXamlToolkit
Branch: master
Commit: bde437426e8a
Files: 1176
Total size: 9.6 MB

Directory structure:
gitextract_uy4cad4e/

├── .config/
│   └── dotnet-tools.json
├── .editorconfig
├── .gitattributes
├── .github/
│   ├── CONTRIBUTING.md
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yaml
│   │   ├── config.yml
│   │   └── feature_request.md
│   ├── copilot-instructions.md
│   ├── dependabot.yml
│   ├── release.yml
│   └── workflows/
│       ├── build_artifacts.yml
│       ├── control_styles.yml
│       ├── copilot-setup-steps.yml
│       ├── generate_contributors.yml
│       ├── get_versions.yml
│       ├── icon_update.yml
│       ├── nightly_release.yml
│       ├── pr_verification.yml
│       ├── release.yml
│       └── stale_issues_and_prs.yml
├── .gitignore
├── Directory.Build.props
├── Directory.packages.props
├── LICENSE
├── MaterialDesignToolkit.Full.slnx
├── README.md
├── Settings.XamlStyler
├── build/
│   ├── ApplyXamlStyler.ps1
│   ├── BuildNugets.ps1
│   ├── GenerateThemesWikiMarkdown.ps1
│   ├── MigrateBrushes.ps1
│   ├── MigrateStyles.ps1
│   ├── UpdateNugets.ps1
│   └── key.snk
├── docs/
│   ├── Freezable_Object_for_Enhanced_Performance.md
│   ├── Optimize_UI_Thread_Performance.md
│   ├── Optimizing-WPF-Rendering-Performance.md
│   ├── Reducing_Layout_Complexity.md
│   └── rendering-performance.md
├── global.json
├── nuget.config
├── src/
│   ├── MahMaterialDragablzMashUp/
│   │   ├── AnotherCommandImplementation.cs
│   │   ├── App.config
│   │   ├── App.xaml
│   │   ├── App.xaml.cs
│   │   ├── Dialogs.xaml
│   │   ├── Dialogs.xaml.cs
│   │   ├── DialogsViewModel.cs
│   │   ├── FlyoutContent.xaml
│   │   ├── FlyoutContent.xaml.cs
│   │   ├── Mah.xaml
│   │   ├── Mah.xaml.cs
│   │   ├── MahAppsDragablzDemo.csproj
│   │   ├── MahViewModel.cs
│   │   ├── MainWindow.xaml
│   │   ├── MainWindow.xaml.cs
│   │   ├── NotEmptyValidationRule.cs
│   │   ├── PaletteSelector.xaml
│   │   ├── PaletteSelector.xaml.cs
│   │   ├── PaletteSelectorViewModel.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   └── XamlDisplayEx.cs
│   ├── MainDemo.Wpf/
│   │   ├── App.config
│   │   ├── App.manifest
│   │   ├── App.xaml
│   │   ├── App.xaml.cs
│   │   ├── ButtonAssist.cs
│   │   ├── Buttons.xaml
│   │   ├── Buttons.xaml.cs
│   │   ├── Cards.xaml
│   │   ├── Cards.xaml.cs
│   │   ├── Chips.xaml
│   │   ├── Chips.xaml.cs
│   │   ├── ColorTool.xaml
│   │   ├── ColorTool.xaml.cs
│   │   ├── ColorZones.xaml
│   │   ├── ColorZones.xaml.cs
│   │   ├── ComboBoxes.xaml
│   │   ├── ComboBoxes.xaml.cs
│   │   ├── CommandLineOptions.cs
│   │   ├── DataGrids.xaml
│   │   ├── DataGrids.xaml.cs
│   │   ├── Dialogs.xaml
│   │   ├── Dialogs.xaml.cs
│   │   ├── Domain/
│   │   │   ├── DemoItem.cs
│   │   │   ├── DialogsViewModel.cs
│   │   │   ├── DocumentationLink.cs
│   │   │   ├── DocumentationLinkType.cs
│   │   │   ├── DocumentationLinks.xaml
│   │   │   ├── DocumentationLinks.xaml.cs
│   │   │   ├── FieldsViewModel.cs
│   │   │   ├── FutureDateValidationRule.cs
│   │   │   ├── IconPackViewModel.cs
│   │   │   ├── IsCheckedValidationRule.cs
│   │   │   ├── Link.cs
│   │   │   ├── ListsAndGridsViewModel.cs
│   │   │   ├── MainWindowViewModel.cs
│   │   │   ├── NotEmptyValidationRule.cs
│   │   │   ├── PaletteSelectorViewModel.cs
│   │   │   ├── PickersViewModel.cs
│   │   │   ├── Sample4Dialog.xaml
│   │   │   ├── Sample4Dialog.xaml.cs
│   │   │   ├── SampleDialog.xaml
│   │   │   ├── SampleDialog.xaml.cs
│   │   │   ├── SampleDialogViewModel.cs
│   │   │   ├── SampleMessageDialog.xaml
│   │   │   ├── SampleMessageDialog.xaml.cs
│   │   │   ├── SampleProgressDialog.xaml
│   │   │   ├── SampleProgressDialog.xaml.cs
│   │   │   ├── SelectableViewModel.cs
│   │   │   ├── SimpleDataTemplateSelector.cs
│   │   │   ├── SimpleDateValidationRule.cs
│   │   │   ├── SlidersViewModel.cs
│   │   │   ├── SmartHintViewModel.cs
│   │   │   ├── TabsViewModel.cs
│   │   │   ├── ThemeSettingsViewModel.cs
│   │   │   └── TreesViewModel.cs
│   │   ├── Drawers.xaml
│   │   ├── Drawers.xaml.cs
│   │   ├── Elevation.xaml
│   │   ├── Elevation.xaml.cs
│   │   ├── Expander.xaml
│   │   ├── Expander.xaml.cs
│   │   ├── Fields.xaml
│   │   ├── Fields.xaml.cs
│   │   ├── FieldsLineUp.xaml
│   │   ├── FieldsLineUp.xaml.cs
│   │   ├── GroupBoxes.xaml
│   │   ├── GroupBoxes.xaml.cs
│   │   ├── Home.xaml
│   │   ├── Home.xaml.cs
│   │   ├── IconPack.xaml
│   │   ├── IconPack.xaml.cs
│   │   ├── InputElementContentControl.cs
│   │   ├── Lists.xaml
│   │   ├── Lists.xaml.cs
│   │   ├── MainWindow.xaml
│   │   ├── MainWindow.xaml.cs
│   │   ├── MaterialDesignDemo.csproj
│   │   ├── MenusAndToolBars.xaml
│   │   ├── MenusAndToolBars.xaml.cs
│   │   ├── NavigationRail.xaml
│   │   ├── NavigationRail.xaml.cs
│   │   ├── NumericUpDown.xaml
│   │   ├── NumericUpDown.xaml.cs
│   │   ├── PackIconKindGroup.cs
│   │   ├── Palette.xaml
│   │   ├── Palette.xaml.cs
│   │   ├── PaletteSelector.xaml
│   │   ├── PaletteSelector.xaml.cs
│   │   ├── Pickers.xaml
│   │   ├── Pickers.xaml.cs
│   │   ├── PopupBox.xaml
│   │   ├── PopupBox.xaml.cs
│   │   ├── Progress.xaml
│   │   ├── Progress.xaml.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   ├── Settings.settings
│   │   │   └── launchSettings.json
│   │   ├── RatingBar.xaml
│   │   ├── RatingBar.xaml.cs
│   │   ├── Sliders.xaml
│   │   ├── Sliders.xaml.cs
│   │   ├── SmartHint.xaml
│   │   ├── SmartHint.xaml.cs
│   │   ├── Snackbars.xaml
│   │   ├── Snackbars.xaml.cs
│   │   ├── StatusBars.xaml
│   │   ├── StatusBars.xaml.cs
│   │   ├── Tabs.xaml
│   │   ├── Tabs.xaml.cs
│   │   ├── ThemeSettings.xaml
│   │   ├── ThemeSettings.xaml.cs
│   │   ├── Toggles.xaml
│   │   ├── Toggles.xaml.cs
│   │   ├── ToolTips.xaml
│   │   ├── ToolTips.xaml.cs
│   │   ├── Transitions.xaml
│   │   ├── Transitions.xaml.cs
│   │   ├── TransitionsDemo/
│   │   │   ├── Slide1_Intro.xaml
│   │   │   ├── Slide1_Intro.xaml.cs
│   │   │   ├── Slide2_Intro.xaml
│   │   │   ├── Slide2_Intro.xaml.cs
│   │   │   ├── Slide3_Intro.xaml
│   │   │   ├── Slide3_Intro.xaml.cs
│   │   │   ├── Slide4_CombineTransitions.xaml
│   │   │   ├── Slide4_CombineTransitions.xaml.cs
│   │   │   ├── Slide5_TransitioningContent.xaml
│   │   │   ├── Slide5_TransitioningContent.xaml.cs
│   │   │   ├── Slide6_Origins.xaml
│   │   │   ├── Slide6_Origins.xaml.cs
│   │   │   ├── Slide7_MVVM.xaml
│   │   │   ├── Slide7_MVVM.xaml.cs
│   │   │   ├── Slide7_MasterModel.cs
│   │   │   ├── Slide8_Details.xaml
│   │   │   ├── Slide8_Details.xaml.cs
│   │   │   ├── TransitionsDemoHome.xaml
│   │   │   └── TransitionsDemoHome.xaml.cs
│   │   ├── Trees.xaml
│   │   ├── Trees.xaml.cs
│   │   ├── Typography.xaml
│   │   ├── Typography.xaml.cs
│   │   ├── VisualTreeUtil.cs
│   │   └── XamlDisplayEx.cs
│   ├── MaterialDesign3.Demo.Wpf/
│   │   ├── App.config
│   │   ├── App.manifest
│   │   ├── App.xaml
│   │   ├── App.xaml.cs
│   │   ├── ButtonAssist.cs
│   │   ├── Buttons.xaml
│   │   ├── Buttons.xaml.cs
│   │   ├── Cards.xaml
│   │   ├── Cards.xaml.cs
│   │   ├── Chips.xaml
│   │   ├── Chips.xaml.cs
│   │   ├── ColorScheme.cs
│   │   ├── ColorTool.xaml
│   │   ├── ColorTool.xaml.cs
│   │   ├── ColorZones.xaml
│   │   ├── ColorZones.xaml.cs
│   │   ├── ComboBoxes.xaml
│   │   ├── ComboBoxes.xaml.cs
│   │   ├── DataGrids.xaml
│   │   ├── DataGrids.xaml.cs
│   │   ├── Dialogs.xaml
│   │   ├── Dialogs.xaml.cs
│   │   ├── Domain/
│   │   │   ├── AnotherCommandImplementation.cs
│   │   │   ├── DemoItem.cs
│   │   │   ├── DialogsViewModel.cs
│   │   │   ├── DocumentationLink.cs
│   │   │   ├── DocumentationLinkType.cs
│   │   │   ├── DocumentationLinks.xaml
│   │   │   ├── DocumentationLinks.xaml.cs
│   │   │   ├── FieldsViewModel.cs
│   │   │   ├── FutureDateValidationRule.cs
│   │   │   ├── IconPackViewModel.cs
│   │   │   ├── IsCheckedValidationRule.cs
│   │   │   ├── Link.cs
│   │   │   ├── ListsAndGridsViewModel.cs
│   │   │   ├── MainWindowViewModel.cs
│   │   │   ├── NotEmptyValidationRule.cs
│   │   │   ├── PaletteSelectorViewModel.cs
│   │   │   ├── PickersViewModel.cs
│   │   │   ├── Sample4Dialog.xaml
│   │   │   ├── Sample4Dialog.xaml.cs
│   │   │   ├── SampleDialog.xaml
│   │   │   ├── SampleDialog.xaml.cs
│   │   │   ├── SampleDialogViewModel.cs
│   │   │   ├── SampleItem.cs
│   │   │   ├── SampleMessageDialog.xaml
│   │   │   ├── SampleMessageDialog.xaml.cs
│   │   │   ├── SampleProgressDialog.xaml
│   │   │   ├── SampleProgressDialog.xaml.cs
│   │   │   ├── SelectableViewModel.cs
│   │   │   ├── SimpleDataTemplateSelector.cs
│   │   │   ├── SimpleDateValidationRule.cs
│   │   │   ├── SlidersViewModel.cs
│   │   │   ├── ThemeSettingsViewModel.cs
│   │   │   └── TreesViewModel.cs
│   │   ├── Drawers.xaml
│   │   ├── Drawers.xaml.cs
│   │   ├── Elevation.xaml
│   │   ├── Elevation.xaml.cs
│   │   ├── Expander.xaml
│   │   ├── Expander.xaml.cs
│   │   ├── Fields.xaml
│   │   ├── Fields.xaml.cs
│   │   ├── FieldsLineUp.xaml
│   │   ├── FieldsLineUp.xaml.cs
│   │   ├── GroupBoxes.xaml
│   │   ├── GroupBoxes.xaml.cs
│   │   ├── Home.xaml
│   │   ├── Home.xaml.cs
│   │   ├── IconPack.xaml
│   │   ├── IconPack.xaml.cs
│   │   ├── Lists.xaml
│   │   ├── Lists.xaml.cs
│   │   ├── MainWindow.xaml
│   │   ├── MainWindow.xaml.cs
│   │   ├── MaterialDesign3Demo.csproj
│   │   ├── MenusAndToolBars.xaml
│   │   ├── MenusAndToolBars.xaml.cs
│   │   ├── NavigationBar.xaml
│   │   ├── NavigationBar.xaml.cs
│   │   ├── NavigationRail.xaml
│   │   ├── NavigationRail.xaml.cs
│   │   ├── PackIconKindGroup.cs
│   │   ├── Palette.xaml
│   │   ├── Palette.xaml.cs
│   │   ├── PaletteHelperExtensions.cs
│   │   ├── PaletteSelector.xaml
│   │   ├── PaletteSelector.xaml.cs
│   │   ├── Pickers.xaml
│   │   ├── Pickers.xaml.cs
│   │   ├── Progress.xaml
│   │   ├── Progress.xaml.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   ├── Settings.settings
│   │   │   └── launchSettings.json
│   │   ├── RatingBar.xaml
│   │   ├── RatingBar.xaml.cs
│   │   ├── Sliders.xaml
│   │   ├── Sliders.xaml.cs
│   │   ├── Snackbars.xaml
│   │   ├── Snackbars.xaml.cs
│   │   ├── ThemeSettings.xaml
│   │   ├── ThemeSettings.xaml.cs
│   │   ├── Toggles.xaml
│   │   ├── Toggles.xaml.cs
│   │   ├── ToolTips.xaml
│   │   ├── ToolTips.xaml.cs
│   │   ├── Transitions.xaml
│   │   ├── Transitions.xaml.cs
│   │   ├── TransitionsDemo/
│   │   │   ├── Slide1_Intro.xaml
│   │   │   ├── Slide1_Intro.xaml.cs
│   │   │   ├── Slide2_Intro.xaml
│   │   │   ├── Slide2_Intro.xaml.cs
│   │   │   ├── Slide3_Intro.xaml
│   │   │   ├── Slide3_Intro.xaml.cs
│   │   │   ├── Slide4_CombineTransitions.xaml
│   │   │   ├── Slide4_CombineTransitions.xaml.cs
│   │   │   ├── Slide5_TransitioningContent.xaml
│   │   │   ├── Slide5_TransitioningContent.xaml.cs
│   │   │   ├── Slide6_Origins.xaml
│   │   │   ├── Slide6_Origins.xaml.cs
│   │   │   ├── Slide7_MVVM.xaml
│   │   │   ├── Slide7_MVVM.xaml.cs
│   │   │   ├── Slide7_MasterModel.cs
│   │   │   ├── Slide8_Details.xaml
│   │   │   ├── Slide8_Details.xaml.cs
│   │   │   ├── TransitionsDemoHome.xaml
│   │   │   └── TransitionsDemoHome.xaml.cs
│   │   ├── Trees.xaml
│   │   ├── Trees.xaml.cs
│   │   ├── Typography.xaml
│   │   ├── Typography.xaml.cs
│   │   └── XamlDisplayEx.cs
│   ├── MaterialDesign3.MaterialColorUtilities/
│   │   ├── Blend/
│   │   │   └── Blend.cs
│   │   ├── Contrast/
│   │   │   └── Contrast.cs
│   │   ├── Dislike/
│   │   │   └── DislikeAnalyzer.cs
│   │   ├── DynamicColor/
│   │   │   ├── ColorSpec.cs
│   │   │   ├── ColorSpec2021.cs
│   │   │   ├── ColorSpec2025.cs
│   │   │   ├── ColorSpecs.cs
│   │   │   ├── ContrastCurve.cs
│   │   │   ├── DeltaConstraint.cs
│   │   │   ├── DynamicColor.cs
│   │   │   ├── DynamicScheme.cs
│   │   │   ├── MaterialDynamicColors.cs
│   │   │   ├── Platform.cs
│   │   │   ├── SpecVersion.cs
│   │   │   ├── ToneDeltaPair.cs
│   │   │   ├── TonePolarity.cs
│   │   │   └── Variant.cs
│   │   ├── Hct/
│   │   │   ├── Cam16.cs
│   │   │   ├── Hct.cs
│   │   │   ├── HctSolver.cs
│   │   │   └── ViewingConditions.cs
│   │   ├── MaterialColorUtilities.csproj
│   │   ├── Palettes/
│   │   │   ├── CorePalette.cs
│   │   │   ├── CorePalettes.cs
│   │   │   └── TonalPalette.cs
│   │   ├── Quantize/
│   │   │   ├── PointProvider.cs
│   │   │   ├── PointProviderLab.cs
│   │   │   ├── Quantizer.cs
│   │   │   ├── QuantizerCelebi.cs
│   │   │   ├── QuantizerMap.cs
│   │   │   ├── QuantizerResult.cs
│   │   │   ├── QuantizerWsmeans.cs
│   │   │   └── QuantizerWu.cs
│   │   ├── Scheme/
│   │   │   ├── DynamicSchemeFactory.cs
│   │   │   ├── Scheme.cs
│   │   │   ├── SchemeContent.cs
│   │   │   ├── SchemeExpressive.cs
│   │   │   ├── SchemeFidelity.cs
│   │   │   ├── SchemeFruitSalad.cs
│   │   │   ├── SchemeMonochrome.cs
│   │   │   ├── SchemeNeutral.cs
│   │   │   ├── SchemeRainbow.cs
│   │   │   ├── SchemeTonalSpot.cs
│   │   │   └── SchemeVibrant.cs
│   │   ├── Score/
│   │   │   └── Score.cs
│   │   ├── Temperature/
│   │   │   └── TemperatureCache.cs
│   │   └── Utils/
│   │       ├── ColorUtils.cs
│   │       ├── MathUtils.cs
│   │       └── StringUtils.cs
│   ├── MaterialDesign3.Motion/
│   │   ├── AnimationEndReason.cs
│   │   ├── AnimationParameters.cs
│   │   ├── AnimationSpec.cs
│   │   ├── AnimationVector.cs
│   │   ├── AnimationVector1D.cs
│   │   ├── AnimationVector2D.cs
│   │   ├── AnimationVector3D.cs
│   │   ├── AnimationVector4D.cs
│   │   ├── AnimationVectorExtensions.cs
│   │   ├── AnimationVectorFactory.cs
│   │   ├── ArcSpline.cs
│   │   ├── CubicBezierEasing.cs
│   │   ├── Easing.cs
│   │   ├── Hermite.cs
│   │   ├── IMotionScheme.cs
│   │   ├── ITwoWayConverter.cs
│   │   ├── MonoSpline.cs
│   │   ├── Motion.cs
│   │   ├── Motion.csproj
│   │   ├── Motion.md
│   │   ├── MotionSchemeContext.cs
│   │   ├── MotionSchemeExtensions.cs
│   │   ├── MotionSchemeKeyTokenExtensions.cs
│   │   ├── MotionSchemeKeyTokens.cs
│   │   ├── MotionSchemes.cs
│   │   ├── MotionTokens.cs
│   │   ├── Preconditions.cs
│   │   ├── RepeatMode.cs
│   │   ├── Repeatable.cs
│   │   ├── SpringConstants.cs
│   │   ├── SpringEstimation.cs
│   │   ├── SpringMotionSpec.cs
│   │   ├── SpringSimulation.cs
│   │   ├── TwoWayConverter.cs
│   │   └── VectorConverters.cs
│   ├── MaterialDesignColors.Wpf/
│   │   ├── ColorManipulation/
│   │   │   ├── ColorAssist.cs
│   │   │   ├── Hsb.cs
│   │   │   ├── HsbExtensions.cs
│   │   │   ├── Hsl.cs
│   │   │   ├── HslExtensions.cs
│   │   │   ├── Lab.cs
│   │   │   ├── LabExtensions.cs
│   │   │   ├── Xyz.cs
│   │   │   └── XyzExtensions.cs
│   │   ├── ColorPair.cs
│   │   ├── Hue.cs
│   │   ├── ISwatch.cs
│   │   ├── MaterialDesignColor.cs
│   │   ├── MaterialDesignColors.Wpf.csproj
│   │   ├── MaterialDesignColors.nuspec
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   ├── Recommended/
│   │   │   ├── AmberSwatch.cs
│   │   │   ├── BlueGreySwatch.cs
│   │   │   ├── BlueSwatch.cs
│   │   │   ├── BrownSwatch.cs
│   │   │   ├── CyanSwatch.cs
│   │   │   ├── DeepOrangeSwatch.cs
│   │   │   ├── DeepPurpleSwatch.cs
│   │   │   ├── GreenSwatch.cs
│   │   │   ├── GreySwatch.cs
│   │   │   ├── IndigoSwatch.cs
│   │   │   ├── LightBlueSwatch.cs
│   │   │   ├── LightGreenSwatch.cs
│   │   │   ├── LimeSwatch.cs
│   │   │   ├── OrangeSwatch.cs
│   │   │   ├── PinkSwatch.cs
│   │   │   ├── PurpleSwatch.cs
│   │   │   ├── RedSwatch.cs
│   │   │   ├── TealSwatch.cs
│   │   │   └── YellowSwatch.cs
│   │   ├── StaticResourceExtension.cs
│   │   ├── Swatch.cs
│   │   ├── SwatchHelper.cs
│   │   ├── SwatchesProvider.cs
│   │   └── Themes/
│   │       ├── MaterialDesignColor.Amber.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Amber.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Amber.Named.xaml
│   │       ├── MaterialDesignColor.Amber.Primary.xaml
│   │       ├── MaterialDesignColor.Amber.Secondary.xaml
│   │       ├── MaterialDesignColor.Amber.xaml
│   │       ├── MaterialDesignColor.Blue.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Blue.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Blue.Named.xaml
│   │       ├── MaterialDesignColor.Blue.Primary.xaml
│   │       ├── MaterialDesignColor.Blue.Secondary.xaml
│   │       ├── MaterialDesignColor.Blue.xaml
│   │       ├── MaterialDesignColor.BlueGrey.Named.Primary.xaml
│   │       ├── MaterialDesignColor.BlueGrey.Named.xaml
│   │       ├── MaterialDesignColor.BlueGrey.Primary.xaml
│   │       ├── MaterialDesignColor.BlueGrey.xaml
│   │       ├── MaterialDesignColor.Brown.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Brown.Named.xaml
│   │       ├── MaterialDesignColor.Brown.Primary.xaml
│   │       ├── MaterialDesignColor.Brown.xaml
│   │       ├── MaterialDesignColor.Cyan.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Cyan.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Cyan.Named.xaml
│   │       ├── MaterialDesignColor.Cyan.Primary.xaml
│   │       ├── MaterialDesignColor.Cyan.Secondary.xaml
│   │       ├── MaterialDesignColor.Cyan.xaml
│   │       ├── MaterialDesignColor.DeepOrange.Named.Primary.xaml
│   │       ├── MaterialDesignColor.DeepOrange.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.DeepOrange.Named.xaml
│   │       ├── MaterialDesignColor.DeepOrange.Primary.xaml
│   │       ├── MaterialDesignColor.DeepOrange.Secondary.xaml
│   │       ├── MaterialDesignColor.DeepOrange.xaml
│   │       ├── MaterialDesignColor.DeepPurple.Named.Primary.xaml
│   │       ├── MaterialDesignColor.DeepPurple.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.DeepPurple.Named.xaml
│   │       ├── MaterialDesignColor.DeepPurple.Primary.xaml
│   │       ├── MaterialDesignColor.DeepPurple.Secondary.xaml
│   │       ├── MaterialDesignColor.DeepPurple.xaml
│   │       ├── MaterialDesignColor.Green.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Green.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Green.Named.xaml
│   │       ├── MaterialDesignColor.Green.Primary.xaml
│   │       ├── MaterialDesignColor.Green.Secondary.xaml
│   │       ├── MaterialDesignColor.Green.xaml
│   │       ├── MaterialDesignColor.Grey.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Grey.Named.xaml
│   │       ├── MaterialDesignColor.Grey.Primary.xaml
│   │       ├── MaterialDesignColor.Grey.xaml
│   │       ├── MaterialDesignColor.Indigo.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Indigo.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Indigo.Named.xaml
│   │       ├── MaterialDesignColor.Indigo.Primary.xaml
│   │       ├── MaterialDesignColor.Indigo.Secondary.xaml
│   │       ├── MaterialDesignColor.Indigo.xaml
│   │       ├── MaterialDesignColor.LightBlue.Named.Primary.xaml
│   │       ├── MaterialDesignColor.LightBlue.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.LightBlue.Named.xaml
│   │       ├── MaterialDesignColor.LightBlue.Primary.xaml
│   │       ├── MaterialDesignColor.LightBlue.Secondary.xaml
│   │       ├── MaterialDesignColor.LightBlue.xaml
│   │       ├── MaterialDesignColor.LightGreen.Named.Primary.xaml
│   │       ├── MaterialDesignColor.LightGreen.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.LightGreen.Named.xaml
│   │       ├── MaterialDesignColor.LightGreen.Primary.xaml
│   │       ├── MaterialDesignColor.LightGreen.Secondary.xaml
│   │       ├── MaterialDesignColor.LightGreen.xaml
│   │       ├── MaterialDesignColor.Lime.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Lime.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Lime.Named.xaml
│   │       ├── MaterialDesignColor.Lime.Primary.xaml
│   │       ├── MaterialDesignColor.Lime.Secondary.xaml
│   │       ├── MaterialDesignColor.Lime.xaml
│   │       ├── MaterialDesignColor.Orange.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Orange.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Orange.Named.xaml
│   │       ├── MaterialDesignColor.Orange.Primary.xaml
│   │       ├── MaterialDesignColor.Orange.Secondary.xaml
│   │       ├── MaterialDesignColor.Orange.xaml
│   │       ├── MaterialDesignColor.Pink.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Pink.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Pink.Named.xaml
│   │       ├── MaterialDesignColor.Pink.Primary.xaml
│   │       ├── MaterialDesignColor.Pink.Secondary.xaml
│   │       ├── MaterialDesignColor.Pink.xaml
│   │       ├── MaterialDesignColor.Purple.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Purple.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Purple.Named.xaml
│   │       ├── MaterialDesignColor.Purple.Primary.xaml
│   │       ├── MaterialDesignColor.Purple.Secondary.xaml
│   │       ├── MaterialDesignColor.Purple.xaml
│   │       ├── MaterialDesignColor.Red.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Red.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Red.Named.xaml
│   │       ├── MaterialDesignColor.Red.Primary.xaml
│   │       ├── MaterialDesignColor.Red.Secondary.xaml
│   │       ├── MaterialDesignColor.Red.xaml
│   │       ├── MaterialDesignColor.Teal.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Teal.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Teal.Named.xaml
│   │       ├── MaterialDesignColor.Teal.Primary.xaml
│   │       ├── MaterialDesignColor.Teal.Secondary.xaml
│   │       ├── MaterialDesignColor.Teal.xaml
│   │       ├── MaterialDesignColor.Yellow.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Yellow.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Yellow.Named.xaml
│   │       ├── MaterialDesignColor.Yellow.Primary.xaml
│   │       ├── MaterialDesignColor.Yellow.Secondary.xaml
│   │       ├── MaterialDesignColor.Yellow.xaml
│   │       └── Recommended/
│   │           ├── Primary/
│   │           │   ├── MaterialDesignColor.Amber.xaml
│   │           │   ├── MaterialDesignColor.Blue.xaml
│   │           │   ├── MaterialDesignColor.BlueGrey.xaml
│   │           │   ├── MaterialDesignColor.Brown.xaml
│   │           │   ├── MaterialDesignColor.Cyan.xaml
│   │           │   ├── MaterialDesignColor.DeepOrange.xaml
│   │           │   ├── MaterialDesignColor.DeepPurple.xaml
│   │           │   ├── MaterialDesignColor.Green.xaml
│   │           │   ├── MaterialDesignColor.Grey.xaml
│   │           │   ├── MaterialDesignColor.Indigo.xaml
│   │           │   ├── MaterialDesignColor.LightBlue.xaml
│   │           │   ├── MaterialDesignColor.LightGreen.xaml
│   │           │   ├── MaterialDesignColor.Lime.xaml
│   │           │   ├── MaterialDesignColor.Orange.xaml
│   │           │   ├── MaterialDesignColor.Pink.xaml
│   │           │   ├── MaterialDesignColor.Purple.xaml
│   │           │   ├── MaterialDesignColor.Red.xaml
│   │           │   ├── MaterialDesignColor.Teal.xaml
│   │           │   └── MaterialDesignColor.Yellow.xaml
│   │           └── Secondary/
│   │               ├── MaterialDesignColor.Amber.xaml
│   │               ├── MaterialDesignColor.Blue.xaml
│   │               ├── MaterialDesignColor.Cyan.xaml
│   │               ├── MaterialDesignColor.DeepOrange.xaml
│   │               ├── MaterialDesignColor.DeepPurple.xaml
│   │               ├── MaterialDesignColor.Green.xaml
│   │               ├── MaterialDesignColor.Indigo.xaml
│   │               ├── MaterialDesignColor.LightBlue.xaml
│   │               ├── MaterialDesignColor.LightGreen.xaml
│   │               ├── MaterialDesignColor.Lime.xaml
│   │               ├── MaterialDesignColor.Orange.xaml
│   │               ├── MaterialDesignColor.Pink.xaml
│   │               ├── MaterialDesignColor.Purple.xaml
│   │               ├── MaterialDesignColor.Red.xaml
│   │               ├── MaterialDesignColor.Teal.xaml
│   │               └── MaterialDesignColor.Yellow.xaml
│   ├── MaterialDesignDemo.Shared/
│   │   ├── ColorScheme.cs
│   │   ├── Converters/
│   │   │   ├── BoolToTextWrappingConverter.cs
│   │   │   ├── BooleanToDoubleConverter.cs
│   │   │   ├── BrushToHexConverter.cs
│   │   │   ├── ColorToBrushConverter.cs
│   │   │   ├── IsTransparentConverter.cs
│   │   │   ├── MultiValueEqualityConverter.cs
│   │   │   └── StringJoinConverter.cs
│   │   ├── Domain/
│   │   │   ├── AnotherCommandImplementation.cs
│   │   │   ├── ButtonsViewModel.cs
│   │   │   ├── ColorToolViewModel.cs
│   │   │   ├── ComboBoxesViewModel.cs
│   │   │   ├── ToolTipsViewModel.cs
│   │   │   └── ViewModelBase.cs
│   │   ├── MaterialDesignDemo.Shared.csproj
│   │   └── PaletteHelperExtensions.cs
│   ├── MaterialDesignThemes.MahApps/
│   │   ├── BaseThemeExtensions.cs
│   │   ├── FlyoutAssist.cs
│   │   ├── MahAppsBundledTheme.cs
│   │   ├── MahAppsCustomColorTheme.cs
│   │   ├── MaterialDesignAssist.cs
│   │   ├── MaterialDesignThemes.MahApps.csproj
│   │   ├── MaterialDesignThemes.MahApps.nuspec
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   └── Themes/
│   │       ├── MaterialDesignTheme.MahApps.Defaults.xaml
│   │       ├── MaterialDesignTheme.MahApps.Dialogs.xaml
│   │       ├── MaterialDesignTheme.MahApps.Flyout.xaml
│   │       ├── MaterialDesignTheme.MahApps.Fonts.xaml
│   │       ├── MaterialDesignTheme.MahApps.NumericUpDown.xaml
│   │       ├── MaterialDesignTheme.MahApps.PasswordBox.xaml
│   │       ├── MaterialDesignTheme.MahApps.RangeSlider.xaml
│   │       ├── MaterialDesignTheme.MahApps.TextBox.xaml
│   │       └── MaterialDesignTheme.MahApps.WindowCommands.xaml
│   ├── MaterialDesignThemes.Wpf/
│   │   ├── AdornerExtensions.cs
│   │   ├── AutoSuggestBox.cs
│   │   ├── Automation/
│   │   │   └── Peers/
│   │   │       └── TreeListViewItemAutomationPeer.cs
│   │   ├── Badged.cs
│   │   ├── BadgedAssist.cs
│   │   ├── BaseTheme.cs
│   │   ├── BehaviorCollection.cs
│   │   ├── Behaviors/
│   │   │   ├── Internal/
│   │   │   │   ├── TabControlHeaderScrollBehavior.cs
│   │   │   │   └── TextBoxHorizontalScrollBarBehavior.cs
│   │   │   ├── PasswordBoxBehavior.cs
│   │   │   ├── PasswordBoxRevealTextBoxBehavior.cs
│   │   │   ├── SmartHintBehavior.cs
│   │   │   └── TextBoxLineCountBehavior.cs
│   │   ├── BehaviorsAssist.cs
│   │   ├── BottomDashedLineAdorner.cs
│   │   ├── BundledTheme.cs
│   │   ├── ButtonAssist.cs
│   │   ├── ButtonProgressAssist.cs
│   │   ├── CalendarAssist.cs
│   │   ├── CalendarFormatInfo.cs
│   │   ├── Card.cs
│   │   ├── CheckBoxAssist.cs
│   │   ├── Chip.cs
│   │   ├── Clock.cs
│   │   ├── ClockChoiceMadeEventArgs.cs
│   │   ├── ClockItemButton.cs
│   │   ├── ColorAdjustment.cs
│   │   ├── ColorPicker.cs
│   │   ├── ColorReference.cs
│   │   ├── ColorSelection.cs
│   │   ├── ColorZone.cs
│   │   ├── ColorZoneAssist.cs
│   │   ├── ColorZoneMode.cs
│   │   ├── ComboBoxAssist.cs
│   │   ├── ComboBoxPopup.cs
│   │   ├── Constants.cs
│   │   ├── Contrast.cs
│   │   ├── Converters/
│   │   │   ├── BooleanAllConverter.cs
│   │   │   ├── BooleanConverter.cs
│   │   │   ├── BooleanToDashStyleConverter.cs
│   │   │   ├── BooleanToVisibilityConverter.cs
│   │   │   ├── BorderClipConverter.cs
│   │   │   ├── BrushOpacityConverter.cs
│   │   │   ├── BrushRoundConverter.cs
│   │   │   ├── BrushToRadialGradientBrushConverter.cs
│   │   │   ├── CalendarDateCoalesceConverter.cs
│   │   │   ├── CalendarYearMonthConverter.cs
│   │   │   ├── CircularProgressBar/
│   │   │   │   ├── ArcEndPointConverter.cs
│   │   │   │   ├── ArcSizeConverter.cs
│   │   │   │   ├── LocalEx.cs
│   │   │   │   ├── RotateTransformCentreConverter.cs
│   │   │   │   └── StartPointConverter.cs
│   │   │   ├── ClockItemIsCheckedConverter.cs
│   │   │   ├── ClockLineConverter.cs
│   │   │   ├── CornerRadiusCloneConverter.cs
│   │   │   ├── CursorConverter.cs
│   │   │   ├── DrawerOffsetConverter.cs
│   │   │   ├── ElevationMarginConverter.cs
│   │   │   ├── ElevationRadiusConverter.cs
│   │   │   ├── EllipseClipConverter.cs
│   │   │   ├── EqualityToVisibilityConverter.cs
│   │   │   ├── FallbackBrushConverter.cs
│   │   │   ├── FirstNonNullConverter.cs
│   │   │   ├── FloatingHintClippingGridConverter.cs
│   │   │   ├── FloatingHintContainerMarginConverter.cs
│   │   │   ├── FloatingHintInitialHorizontalOffsetConverter.cs
│   │   │   ├── FloatingHintInitialVerticalOffsetConverter.cs
│   │   │   ├── FloatingHintMarginConverter.cs
│   │   │   ├── FloatingHintScaleTransformConverter.cs
│   │   │   ├── FloatingHintTranslateTransformConverter.cs
│   │   │   ├── GridLinesVisibilityBorderToThicknessConverter.cs
│   │   │   ├── HintProxyFabricConverter.cs
│   │   │   ├── HorizontalThicknessConverter.cs
│   │   │   ├── HsbLinearGradientConverter.cs
│   │   │   ├── HsbToColorConverter.cs
│   │   │   ├── Internal/
│   │   │   │   ├── AutomationPropertiesNameConverter.cs
│   │   │   │   ├── DialogBackgroundBlurConverter.cs
│   │   │   │   ├── DoubleToCornerRadiusConverter.cs
│   │   │   │   ├── ExpanderRotateAngleConverter.cs
│   │   │   │   ├── FloatingHintTextBlockMarginConverter.cs
│   │   │   │   ├── GridViewHasColumnsConverter.cs
│   │   │   │   ├── SliderToolTipConverter.cs
│   │   │   │   ├── SliderValueLabelPositionConverter.cs
│   │   │   │   ├── TextBoxHorizontalScrollBarMarginConverter.cs
│   │   │   │   ├── TextBoxHorizontalScrollBarWidthConverter.cs
│   │   │   │   ├── TextFieldClearButtonVisibilityConverter.cs
│   │   │   │   └── ViewIsGridViewConverter.cs
│   │   │   ├── InvertBooleanConverter.cs
│   │   │   ├── IsDarkConverter.cs
│   │   │   ├── IsTransparentBrushConverter.cs
│   │   │   ├── ListViewItemContainerStyleConverter.cs
│   │   │   ├── MathConverter.cs
│   │   │   ├── MathMultipleConverter.cs
│   │   │   ├── MathOperation.cs
│   │   │   ├── NonDefaultThicknessConverter.cs
│   │   │   ├── NotConverter.cs
│   │   │   ├── NotZeroConverter.cs
│   │   │   ├── NotZeroToVisibilityConverter.cs
│   │   │   ├── NullableDateTimeToCurrentDateConverter.cs
│   │   │   ├── NullableToVisibilityConverter.cs
│   │   │   ├── OutlinedDateTimePickerActiveBorderThicknessConverter.cs
│   │   │   ├── OutlinedStyleActiveBorderMarginCompensationConverter.cs
│   │   │   ├── OutlinedStyleFloatingHintBackgroundConverter.cs
│   │   │   ├── PointValueConverter.cs
│   │   │   ├── RangeLengthConverter.cs
│   │   │   ├── RemoveAlphaBrushConverter.cs
│   │   │   ├── ShadowConverter.cs
│   │   │   ├── ShadowOpacityMaskConverter.cs
│   │   │   ├── SnackbarActionButtonPlacementModeConverter.cs
│   │   │   ├── SnackbarMessageTypeConverter.cs
│   │   │   ├── StringLengthValueConverter.cs
│   │   │   ├── TextFieldHintVisibilityConverter.cs
│   │   │   ├── TextFieldPrefixTextVisibilityConverter.cs
│   │   │   ├── ThicknessCloneConverter.cs
│   │   │   ├── TimeToVisibilityConverter.cs
│   │   │   ├── ToolBarOverflowButtonVisibilityConverter.cs
│   │   │   ├── TopThicknessConverter.cs
│   │   │   ├── TreeListViewIndentConverter.cs
│   │   │   └── VerticalAlignmentConverter.cs
│   │   ├── CustomColorTheme.cs
│   │   ├── CustomPopupPlacementCallbackHelper.cs
│   │   ├── DataGridAssist.cs
│   │   ├── DataGridComboBoxColumn.cs
│   │   ├── DataGridTextColumn.cs
│   │   ├── DatePickerAssist.cs
│   │   ├── DateTimeEx.cs
│   │   ├── DecimalUpDown.cs
│   │   ├── DialogClosedEventArgs.cs
│   │   ├── DialogClosedEventHandler.cs
│   │   ├── DialogClosingEventArgs.cs
│   │   ├── DialogClosingEventHandler.cs
│   │   ├── DialogHost.cs
│   │   ├── DialogHostEx.cs
│   │   ├── DialogOpenedEventArgs.cs
│   │   ├── DialogOpenedEventHandler.cs
│   │   ├── DialogSession.cs
│   │   ├── DpiHelper.cs
│   │   ├── DrawerClosingEventArgs.cs
│   │   ├── DrawerHost.cs
│   │   ├── DrawerHostOpenMode.cs
│   │   ├── DrawerOpenedEventArgs.cs
│   │   ├── ElevationAssist.cs
│   │   ├── ExpanderAssist.cs
│   │   ├── Flipper.cs
│   │   ├── FlipperAssist.cs
│   │   ├── FlipperClassic.cs
│   │   ├── FloatingHintHorizontalAlignment.cs
│   │   ├── GridViewColumnThumb.cs
│   │   ├── GroupBoxAssist.cs
│   │   ├── HintAssist.cs
│   │   ├── HintProxyFabric.ComboBox.cs
│   │   ├── HintProxyFabric.PasswordBox.cs
│   │   ├── HintProxyFabric.RichTextBox.cs
│   │   ├── HintProxyFabric.TextBox.cs
│   │   ├── HintProxyFabric.cs
│   │   ├── IHintProxy.cs
│   │   ├── IMaterialDesignThemeDictionary.cs
│   │   ├── ISnackbarMessageQueue.cs
│   │   ├── IThemeManager.cs
│   │   ├── InheritSystemColorTypeConverter.cs
│   │   ├── Internal/
│   │   │   ├── ClearText.cs
│   │   │   ├── InternalTextFieldAssist.cs
│   │   │   ├── PaddedBringIntoViewStackPanel.cs
│   │   │   ├── Shims/
│   │   │   │   ├── Index.cs
│   │   │   │   └── NotNullWhen.cs
│   │   │   ├── TreeListViewContentPresenter.cs
│   │   │   └── TreeListViewItemsCollection.cs
│   │   ├── ListBoxAssist.cs
│   │   ├── ListBoxItemAssist.cs
│   │   ├── ListSortDirectionIndicator.cs
│   │   ├── ListViewAssist.cs
│   │   ├── MaterialDateDisplay.cs
│   │   ├── MaterialDesignFont.cs
│   │   ├── MaterialDesignThemes.Wpf.csproj
│   │   ├── MaterialDesignThemes.nuspec
│   │   ├── MaterialDesignThemes.targets
│   │   ├── MenuAssist.cs
│   │   ├── MenuItemAssist.cs
│   │   ├── MessageQueueExtension.cs
│   │   ├── NavigationBarAssist.cs
│   │   ├── NavigationDrawerAssist.cs
│   │   ├── NavigationRailAssist.cs
│   │   ├── NotoFontExtension.cs
│   │   ├── NumericUpDown.cs
│   │   ├── PackIcon.cs
│   │   ├── PackIconDataFactory.cs
│   │   ├── PackIconExtension.cs
│   │   ├── PackIconKind.cs
│   │   ├── PaddingMode.cs
│   │   ├── Palette.cs
│   │   ├── PaletteHelper.cs
│   │   ├── PasswordBoxAssist.cs
│   │   ├── Plane3D.cs
│   │   ├── PopupBox.cs
│   │   ├── PopupEx.cs
│   │   ├── PrefixSuffixHintBehavior.cs
│   │   ├── PrefixSuffixVisibility.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   ├── RadioButtonAssist.cs
│   │   ├── RatingBar.cs
│   │   ├── RatingBarButton.cs
│   │   ├── ResourceDictionaryExtensions.cs
│   │   ├── ResourceDictionaryExtensions.g.cs
│   │   ├── Resources/
│   │   │   └── Noto/
│   │   │       └── OFL.txt
│   │   ├── Ripple.cs
│   │   ├── RippleAssist.cs
│   │   ├── RobotoFontExtension.cs
│   │   ├── ScaleHelper.cs
│   │   ├── ScaleHost.cs
│   │   ├── Screen.cs
│   │   ├── ScrollViewerAssist.cs
│   │   ├── ScrollbarAssist.cs
│   │   ├── ShadowAssist.cs
│   │   ├── SliderAssist.cs
│   │   ├── SmartHint.cs
│   │   ├── Snackbar.cs
│   │   ├── SnackbarMessage.cs
│   │   ├── SnackbarMessageEventArgs.cs
│   │   ├── SnackbarMessageQueue.cs
│   │   ├── SnackbarMessageQueueItem.cs
│   │   ├── Spelling.cs
│   │   ├── SplitButton.cs
│   │   ├── StringExtensions.cs
│   │   ├── TabAssist.cs
│   │   ├── TextBlockAssist.cs
│   │   ├── TextFieldAssist.cs
│   │   ├── Theme.cs
│   │   ├── Theme.g.cs
│   │   ├── ThemeAssist.cs
│   │   ├── ThemeChangedEventArgs.cs
│   │   ├── ThemeColorReference.cs
│   │   ├── ThemeExtensions.cs
│   │   ├── ThemeExtensions.g.cs
│   │   ├── Themes/
│   │   │   ├── Generic.xaml
│   │   │   ├── Internal/
│   │   │   │   ├── BaseThemeColors.cs
│   │   │   │   └── MaterialDesignTheme.BaseThemeColors.xaml
│   │   │   ├── MaterialDesign2.Defaults.xaml
│   │   │   ├── MaterialDesign3.Defaults.xaml
│   │   │   ├── MaterialDesign3.Font.xaml
│   │   │   ├── MaterialDesign3.NavigationBar.xaml
│   │   │   ├── MaterialDesign3.NavigationDrawer.xaml
│   │   │   ├── MaterialDesign3.NavigationRail.xaml
│   │   │   ├── MaterialDesign3.Slider.xaml
│   │   │   ├── MaterialDesign3.TextBlock.xaml
│   │   │   ├── MaterialDesign3.ToggleButton.xaml
│   │   │   ├── MaterialDesign3.Window.xaml
│   │   │   ├── MaterialDesignTheme.AutoSuggestBox.xaml
│   │   │   ├── MaterialDesignTheme.Badged.xaml
│   │   │   ├── MaterialDesignTheme.Button.xaml
│   │   │   ├── MaterialDesignTheme.Calendar.xaml
│   │   │   ├── MaterialDesignTheme.Card.xaml
│   │   │   ├── MaterialDesignTheme.CheckBox.xaml
│   │   │   ├── MaterialDesignTheme.Chip.xaml
│   │   │   ├── MaterialDesignTheme.Clock.xaml
│   │   │   ├── MaterialDesignTheme.ColorPicker.xaml
│   │   │   ├── MaterialDesignTheme.ComboBox.xaml
│   │   │   ├── MaterialDesignTheme.Dark.xaml
│   │   │   ├── MaterialDesignTheme.DataGrid.ComboBox.xaml
│   │   │   ├── MaterialDesignTheme.DataGrid.xaml
│   │   │   ├── MaterialDesignTheme.DatePicker.xaml
│   │   │   ├── MaterialDesignTheme.DialogHost.xaml
│   │   │   ├── MaterialDesignTheme.Expander.xaml
│   │   │   ├── MaterialDesignTheme.Flipper.xaml
│   │   │   ├── MaterialDesignTheme.FlipperClassic.xaml
│   │   │   ├── MaterialDesignTheme.Font.xaml
│   │   │   ├── MaterialDesignTheme.GridSplitter.xaml
│   │   │   ├── MaterialDesignTheme.GroupBox.xaml
│   │   │   ├── MaterialDesignTheme.Hyperlink.xaml
│   │   │   ├── MaterialDesignTheme.Label.xaml
│   │   │   ├── MaterialDesignTheme.Light.xaml
│   │   │   ├── MaterialDesignTheme.ListBox.xaml
│   │   │   ├── MaterialDesignTheme.ListView.xaml
│   │   │   ├── MaterialDesignTheme.Menu.xaml
│   │   │   ├── MaterialDesignTheme.NumericUpDown.xaml
│   │   │   ├── MaterialDesignTheme.ObsoleteBrushes.xaml
│   │   │   ├── MaterialDesignTheme.ObsoleteStyles.xaml
│   │   │   ├── MaterialDesignTheme.PasswordBox.xaml
│   │   │   ├── MaterialDesignTheme.PopupBox.xaml
│   │   │   ├── MaterialDesignTheme.ProgressBar.xaml
│   │   │   ├── MaterialDesignTheme.RadioButton.xaml
│   │   │   ├── MaterialDesignTheme.RatingBar.xaml
│   │   │   ├── MaterialDesignTheme.RichTextBox.xaml
│   │   │   ├── MaterialDesignTheme.ScrollBar.xaml
│   │   │   ├── MaterialDesignTheme.ScrollViewer.xaml
│   │   │   ├── MaterialDesignTheme.Separator.xaml
│   │   │   ├── MaterialDesignTheme.Shadows.xaml
│   │   │   ├── MaterialDesignTheme.Slider.xaml
│   │   │   ├── MaterialDesignTheme.SmartHint.xaml
│   │   │   ├── MaterialDesignTheme.Snackbar.xaml
│   │   │   ├── MaterialDesignTheme.SplitButton.xaml
│   │   │   ├── MaterialDesignTheme.StatusBar.xaml
│   │   │   ├── MaterialDesignTheme.TabControl.xaml
│   │   │   ├── MaterialDesignTheme.TextBlock.xaml
│   │   │   ├── MaterialDesignTheme.TextBox.xaml
│   │   │   ├── MaterialDesignTheme.Thumb.xaml
│   │   │   ├── MaterialDesignTheme.TimePicker.xaml
│   │   │   ├── MaterialDesignTheme.ToggleButton.xaml
│   │   │   ├── MaterialDesignTheme.ToolBar.xaml
│   │   │   ├── MaterialDesignTheme.ToolBarTray.xaml
│   │   │   ├── MaterialDesignTheme.ToolTip.xaml
│   │   │   ├── MaterialDesignTheme.TreeListView.xaml
│   │   │   ├── MaterialDesignTheme.TreeView.xaml
│   │   │   ├── MaterialDesignTheme.ValidationErrorTemplate.xaml
│   │   │   ├── MaterialDesignTheme.Window.xaml
│   │   │   └── ObsoleteConverters.xaml
│   │   ├── TimeChangedEventArgs.cs
│   │   ├── TimePicker.cs
│   │   ├── TimePickerAssist.cs
│   │   ├── TimePickerTextBox.cs
│   │   ├── ToggleButtonAssist.cs
│   │   ├── ToolTipAssist.cs
│   │   ├── TransitionAssist.cs
│   │   ├── Transitions/
│   │   │   ├── CircleWipe.cs
│   │   │   ├── FadeWipe.cs
│   │   │   ├── ITransitionEffect.cs
│   │   │   ├── ITransitionEffectSubject.cs
│   │   │   ├── ITransitionWipe.cs
│   │   │   ├── IZIndexController.cs
│   │   │   ├── IndexedItemOffsetMultiplierExtension.cs
│   │   │   ├── SlideDirection.cs
│   │   │   ├── SlideOutWipe.cs
│   │   │   ├── SlideWipe.cs
│   │   │   ├── TransitionEffect.cs
│   │   │   ├── TransitionEffectBase.cs
│   │   │   ├── TransitionEffectExtension.cs
│   │   │   ├── TransitionEffectKind.cs
│   │   │   ├── TransitionEffectTypeConverter.cs
│   │   │   ├── Transitioner.cs
│   │   │   ├── TransitionerSlide.cs
│   │   │   ├── TransitionerSlideState.cs
│   │   │   ├── TransitioningContent.cs
│   │   │   └── TransitioningContentBase.cs
│   │   ├── TreeHelper.cs
│   │   ├── TreeListView.cs
│   │   ├── TreeListViewItem.cs
│   │   ├── TreeViewAssist.cs
│   │   ├── Underline.cs
│   │   ├── UpDownBase.cs
│   │   ├── ValidationAssist.cs
│   │   ├── VisualStudioToolsManifest.xml
│   │   └── VisualTreeExtensions.cs
│   ├── MaterialDesignToolkit.ResourceGeneration/
│   │   ├── Brushes.cs
│   │   ├── Icon.cs
│   │   ├── IconDataFactorySyntaxRewriter.cs
│   │   ├── IconDiff.cs
│   │   ├── IconThing.cs
│   │   ├── MaterialColourSwatchesSnippet.xml
│   │   ├── MaterialDesignTheme.ObsoleteBrushes.xaml
│   │   ├── MaterialDesignToolkit.ResourceGeneration.csproj
│   │   ├── MdPalette.cs
│   │   ├── PackIconDataFactory.template.cs
│   │   ├── PackIconKind.template.cs
│   │   ├── Palette.json
│   │   ├── PathHelper.cs
│   │   ├── Program.cs
│   │   ├── Properties/
│   │   │   └── launchSettings.json
│   │   ├── RecommendedPrimaryTemplate.xaml
│   │   ├── RecommendedSecondaryTemplate.xaml
│   │   ├── ThemeColors.json
│   │   └── TreeItem.cs
│   ├── Shims/
│   │   ├── IsExternalInit.cs
│   │   └── MathCompat.cs
│   └── web/
│       ├── PaletteBuilder.html
│       ├── images/
│       │   ├── MD4XAML.psd
│       │   ├── MD4XAML.xcf
│       │   ├── MaterialDesign.MahApps.xcf
│       │   └── modern-wpf.xcf
│       ├── jsx/
│       │   └── PaletteBuilder.js
│       ├── scripts/
│       │   ├── PaletteBuilder.js
│       │   ├── Swatches.js
│       │   └── react.js
│       └── styles/
│           └── style.css
└── tests/
    ├── MaterialColorUtilities.Tests/
    │   ├── BlendTests.cs
    │   ├── ColorUtilsTests.cs
    │   ├── ContrastConstraintTests.cs
    │   ├── ContrastTests.cs
    │   ├── DislikeAnalyzerTests.cs
    │   ├── DynamicSchemeTests.cs
    │   ├── HctTests.cs
    │   ├── MaterialColorUtilities.Tests.csproj
    │   ├── MaterialDynamicColorsTests.cs
    │   ├── MathUtilsTests.cs
    │   ├── QuantizerCelebiTests.cs
    │   ├── QuantizerWsMeansTests.cs
    │   ├── QuantizerWuTests.cs
    │   ├── SchemeMonochromeTests.cs
    │   ├── ScoreTests.cs
    │   ├── TemperatureCacheTests.cs
    │   └── TonalPaletteTests.cs
    ├── MaterialDesignColors.Wpf.Tests/
    │   ├── ColorAssistTests.cs
    │   ├── MaterialDesignColors.Wpf.Tests.csproj
    │   ├── Properties/
    │   │   └── AssemblyInfo.cs
    │   └── ResourceProviderFixture.cs
    ├── MaterialDesignThemes.UITests/
    │   ├── AllStyles.cs
    │   ├── MaterialDesignSpec.cs
    │   ├── MaterialDesignThemes.UITests.csproj
    │   ├── Samples/
    │   │   ├── AutoSuggestBoxes/
    │   │   │   ├── AutoSuggestTextBoxWithCollectionView.xaml
    │   │   │   ├── AutoSuggestTextBoxWithCollectionView.xaml.cs
    │   │   │   ├── AutoSuggestTextBoxWithInteractiveTemplate.xaml
    │   │   │   ├── AutoSuggestTextBoxWithInteractiveTemplate.xaml.cs
    │   │   │   ├── AutoSuggestTextBoxWithTemplate.xaml
    │   │   │   └── AutoSuggestTextBoxWithTemplate.xaml.cs
    │   │   ├── DialogHost/
    │   │   │   ├── ClosingEventCounter.xaml
    │   │   │   ├── ClosingEventCounter.xaml.cs
    │   │   │   ├── ClosingEventViewModel.cs
    │   │   │   ├── LoadAndUnloadControl.xaml
    │   │   │   ├── LoadAndUnloadControl.xaml.cs
    │   │   │   ├── RestoreFocus.xaml
    │   │   │   ├── RestoreFocus.xaml.cs
    │   │   │   ├── RestoreFocusDisabled.xaml
    │   │   │   ├── RestoreFocusDisabled.xaml.cs
    │   │   │   ├── WithComboBox.xaml
    │   │   │   ├── WithComboBox.xaml.cs
    │   │   │   ├── WithCounter.xaml
    │   │   │   └── WithCounter.xaml.cs
    │   │   ├── DrawerHost/
    │   │   │   ├── CancellingDrawerHost.xaml
    │   │   │   └── CancellingDrawerHost.xaml.cs
    │   │   ├── PasswordBox/
    │   │   │   ├── BoundPasswordBox.xaml
    │   │   │   ├── BoundPasswordBox.xaml.cs
    │   │   │   ├── BoundPasswordBoxViewModel.cs
    │   │   │   ├── BoundPasswordBoxWindow.xaml
    │   │   │   └── BoundPasswordBoxWindow.xaml.cs
    │   │   ├── PopupBox/
    │   │   │   ├── PopupBoxWithTemplateSelector.xaml
    │   │   │   └── PopupBoxWithTemplateSelector.xaml.cs
    │   │   ├── SplitButton/
    │   │   │   ├── SplitButtonWithCommandBinding.xaml
    │   │   │   ├── SplitButtonWithCommandBinding.xaml.cs
    │   │   │   ├── SplitButtonWithCommandBindingWindow.xaml
    │   │   │   └── SplitButtonWithCommandBindingWindow.xaml.cs
    │   │   ├── Theme/
    │   │   │   ├── ColorAdjustWindow.xaml
    │   │   │   └── ColorAdjustWindow.xaml.cs
    │   │   ├── UpDownControls/
    │   │   │   ├── BoundNumericUpDown.xaml
    │   │   │   ├── BoundNumericUpDown.xaml.cs
    │   │   │   └── BoundNumericUpDownViewModel.cs
    │   │   └── Validation/
    │   │       ├── ValidationUpdates.xaml
    │   │       └── ValidationUpdates.xaml.cs
    │   ├── TUnit/
    │   │   └── IsCloseToExtensions.cs
    │   ├── TestBase.cs
    │   ├── WPF/
    │   │   ├── AutoSuggestBoxes/
    │   │   │   └── AutoSuggestTextBoxTests.cs
    │   │   ├── Buttons/
    │   │   │   ├── OutlineButtonTests.cs
    │   │   │   └── RaisedButtonTests.cs
    │   │   ├── Cards/
    │   │   │   ├── ElevatedCardTests.cs
    │   │   │   └── OutlinedCardTests.cs
    │   │   ├── ColorPickerTests.cs
    │   │   ├── ColorZones/
    │   │   │   └── ColorZoneTests.cs
    │   │   ├── ComboBoxes/
    │   │   │   └── ComboBoxTests.cs
    │   │   ├── ContentControls/
    │   │   │   └── ContentControlTests.cs
    │   │   ├── DatePickers/
    │   │   │   └── DatePickerTests.cs
    │   │   ├── DialogHosts/
    │   │   │   └── DialogHostTests.cs
    │   │   ├── DrawerHosts/
    │   │   │   └── DrawerHostTests.cs
    │   │   ├── Flippers/
    │   │   │   └── ClassicFlipperTests.cs
    │   │   ├── ListBoxes/
    │   │   │   └── ListBoxTests.cs
    │   │   ├── PasswordBoxes/
    │   │   │   └── PasswordBoxTests.cs
    │   │   ├── PopupBoxes/
    │   │   │   └── PopupBoxTests.cs
    │   │   ├── SnackBars/
    │   │   │   └── SnackBarTests.cs
    │   │   ├── SplitButtons/
    │   │   │   └── SplitButtonTests.cs
    │   │   ├── TabControls/
    │   │   │   └── TabControlTests.cs
    │   │   ├── TextBoxes/
    │   │   │   ├── MaterialDesignTextBox.cs
    │   │   │   └── TextBoxTests.cs
    │   │   ├── TextFieldDefaultHeightTests.cs
    │   │   ├── Theme/
    │   │   │   ├── ColorAdjustTests.cs
    │   │   │   ├── ThemeTests.cs
    │   │   │   └── ThemeTests.g.cs
    │   │   ├── TimePickers/
    │   │   │   ├── MaterialDesignTimePicker.cs
    │   │   │   └── TimePickerTests.cs
    │   │   ├── ToolBars/
    │   │   │   └── ToolBarTests.cs
    │   │   ├── TreeListViews/
    │   │   │   ├── TestableCollection.cs
    │   │   │   ├── TreeItem.cs
    │   │   │   ├── TreeListViewDataBinding.xaml
    │   │   │   ├── TreeListViewDataBinding.xaml.cs
    │   │   │   ├── TreeListViewExtensions.cs
    │   │   │   ├── TreeListViewImplicitTemplate.xaml
    │   │   │   ├── TreeListViewImplicitTemplate.xaml.cs
    │   │   │   ├── TreeListViewTemplateSelector.xaml
    │   │   │   ├── TreeListViewTemplateSelector.xaml.cs
    │   │   │   ├── TreeListViewTests.cs
    │   │   │   ├── TreeListViewWithCollectionView.xaml
    │   │   │   └── TreeListViewWithCollectionView.xaml.cs
    │   │   ├── TreeViews/
    │   │   │   └── TreeViewTests.cs
    │   │   └── UpDownControls/
    │   │       ├── DecimalUpDownTests.cs
    │   │       └── NumericUpDownTests.cs
    │   └── XamlTestExtensions.cs
    └── MaterialDesignThemes.Wpf.Tests/
        ├── AdornerExtensionsTests.cs
        ├── AllStyles.cs
        ├── BundledThemeTests.cs
        ├── ButtonProgressAssistTests.cs
        ├── CalendarFormatInfoTests.cs
        ├── CheckBoxAssistTests.cs
        ├── ClockTests.cs
        ├── ColorPickerTests.cs
        ├── Converters/
        │   ├── AutomationPropertiesNameConverterTests.cs
        │   ├── BrushOpacityConverterTests.cs
        │   ├── DoubleToCornerRadiusConverterTests.cs
        │   ├── MathConverterTests.cs
        │   ├── MathMultipleConverterTests.cs
        │   └── SliderToolTipConverterTests.cs
        ├── CustomColorThemeTests.cs
        ├── DataGridAssistTests.cs
        ├── DialogHostTests.cs
        ├── DrawerHostTests.cs
        ├── EnumDataAttribute.cs
        ├── FlipperAssistTests.cs
        ├── Internal/
        │   └── TreeListViewItemsCollectionTests.cs
        ├── LabelTests.cs
        ├── MaterialDesignThemes.Wpf.Tests.csproj
        ├── MdixHelper.cs
        ├── PackIconTests.cs
        ├── PopupBoxTests.cs
        ├── Properties/
        │   └── AssemblyInfo.cs
        ├── RatingBarTests.cs
        ├── SnackbarMessageQueueItemTests.cs
        ├── SnackbarMessageQueueTests.cs
        ├── TextBlockTests.cs
        ├── TextBoxTests.cs
        ├── ThemeTests.cs
        ├── TimePickerUnitTests.cs
        ├── TransitionerTests.cs
        ├── TreeViewTests.cs
        └── VisualTreeHelper.cs

================================================
FILE CONTENTS
================================================

================================================
FILE: .config/dotnet-tools.json
================================================
{
  "version": 1,
  "isRoot": true,
  "tools": {
    "xamlstyler.console": {
      "version": "3.2311.2",
      "commands": [
        "xstyler"
      ]
    }
  }
}


================================================
FILE: .editorconfig
================================================
# Remove the line below if you want to inherit .editorconfig settings from higher directories
root = true

##### All files #####
[*]

#### Core EditorConfig Options ####

# Indentation and spacing
indent_size = 4
indent_style = space
tab_width = 4

# New line preferences
insert_final_newline = true
trim_trailing_whitespace = true

##### XAML/XML files #####
[*.{xaml,xml,csproj,targets,props,nuspec}]

# Indentation and spacing
indent_size = 2
indent_style = space
tab_width = 2

# The following rules were initially inferred by Visual Studio IntelliCode from the C:\Users\bushc\Source\Repos\MaterialDesignInXamlToolkit codebase based on best match to current usage at 8/14/2018
# You can modify the rules from these initially generated values to suit your own policies
# You can learn more about editorconfig here: https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference
[*.cs]

#Core editorconfig formatting - indentation

#use soft tabs (spaces) for indentation
indent_style = space

#Formatting - indentation options

#indent switch case contents.
csharp_indent_case_contents = true
#indent switch labels
csharp_indent_switch_labels = true

#Formatting - new line options

#place catch statements on a new line
csharp_new_line_before_catch = true
#place else statements on a new line
csharp_new_line_before_else = true
#require braces to be on a new line for methods, accessors, anonymous_methods, types, properties, control_blocks, and lambdas (also known as "Allman" style)
csharp_new_line_before_open_brace = all

#Formatting - organize using options

#sort System.* using directives alphabetically, and place them before other usings
dotnet_sort_system_directives_first = true

#Formatting - spacing options

#require a space before the colon for bases or interfaces in a type declaration
csharp_space_after_colon_in_inheritance_clause = true
#require a space after a keyword in a control flow statement such as a for loop
csharp_space_after_keywords_in_control_flow_statements = true
#require a space before the colon for bases or interfaces in a type declaration
csharp_space_before_colon_in_inheritance_clause = true
#remove space within empty argument list parentheses
csharp_space_between_method_call_empty_parameter_list_parentheses = false
#remove space between method call name and opening parenthesis
csharp_space_between_method_call_name_and_opening_parenthesis = false
#do not place space characters after the opening parenthesis and before the closing parenthesis of a method call
csharp_space_between_method_call_parameter_list_parentheses = false
#remove space within empty parameter list parentheses for a method declaration
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
#place a space character after the opening parenthesis and before the closing parenthesis of a method declaration parameter list.
csharp_space_between_method_declaration_parameter_list_parentheses = false

#Formatting - wrapping options

#leave code block on single line
csharp_preserve_single_line_blocks = true
#leave statements and member declarations on the same line
csharp_preserve_single_line_statements = true

#Style - expression bodied member options

#prefer block bodies for accessors
csharp_style_expression_bodied_accessors = when_on_single_line:suggestion
#prefer block bodies for constructors
csharp_style_expression_bodied_constructors = when_on_single_line:suggestion
#prefer block bodies for methods
csharp_style_expression_bodied_methods = when_on_single_line:suggestion
#prefer block bodies for properties
csharp_style_expression_bodied_properties = when_on_single_line:suggestion

#Style - expression level options

#prefer out variables to be declared before the method call
csharp_style_inlined_variable_declaration = false:suggestion
#prefer the language keyword for member access expressions, instead of the type name, for types that have a keyword to represent them
dotnet_style_predefined_type_for_member_access = true:suggestion

#Style - implicit and explicit types

#prefer var is used to declare variables with built-in system types such as int
csharp_style_var_for_built_in_types = false:suggestion
#prefer var when the type is already mentioned on the right-hand side of a declaration expression
csharp_style_var_when_type_is_apparent = true:suggestion

#Style - language keyword and framework type options

#prefer the language keyword for local variables, method parameters, and class members, instead of the type name, for types that have a keyword to represent them
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion

#Style - qualification options

#prefer events not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_event = false:suggestion
#prefer fields not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_field = false:suggestion
#prefer methods not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_method = false:suggestion
#prefer properties not to be prefaced with this. or Me. in Visual Basic
dotnet_style_qualification_for_property = false:suggestion
csharp_indent_labels = one_less_than_current
csharp_using_directive_placement = outside_namespace:silent
csharp_prefer_simple_using_statement = true:suggestion
csharp_prefer_braces = true:silent
csharp_style_namespace_declarations = block_scoped:silent
csharp_style_prefer_method_group_conversion = true:silent
csharp_style_prefer_top_level_statements = true:silent
csharp_style_expression_bodied_operators = false:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_lambdas = true:silent
csharp_style_expression_bodied_local_functions = false:silent

[*.{cs,vb}]
#### Naming styles ####

# Naming rules

dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i

dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case

# Symbol specifications

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers = 

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers = 

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers = 

# Naming styles

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix = 
dotnet_naming_style.begins_with_i.word_separator = 
dotnet_naming_style.begins_with_i.capitalization = pascal_case

dotnet_naming_style.pascal_case.required_prefix = 
dotnet_naming_style.pascal_case.required_suffix = 
dotnet_naming_style.pascal_case.word_separator = 
dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_style.pascal_case.required_prefix = 
dotnet_naming_style.pascal_case.required_suffix = 
dotnet_naming_style.pascal_case.word_separator = 
dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_style_operator_placement_when_wrapping = beginning_of_line
end_of_line = crlf
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
dotnet_style_prefer_auto_properties = true:silent
dotnet_style_object_initializer = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion


================================================
FILE: .gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto

# Custom for Visual Studio
*.cs     diff=csharp

# Standard to msysgit
*.doc	 diff=astextplain
*.DOC	 diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot  diff=astextplain
*.DOT  diff=astextplain
*.pdf  diff=astextplain
*.PDF	 diff=astextplain
*.rtf	 diff=astextplain
*.RTF	 diff=astextplain


================================================
FILE: .github/CONTRIBUTING.md
================================================
# Contribution Guidelines

PRs to this project are welcome, but before contributing please bear in mind my thoughts below. Where possible, please include unit tests. If you want to get involved but are unsure, please ask (say hello in the [Gitter chat room](http://gitter.im/ButchersBoy/MaterialDesignInXamlToolkit)).  Also note that I wrote these guidelines several months after the library was first made available, with the benefit of hindsight.  Apologies if there are inconsistencies with what you read below and what's already in the library.

## The purposes of this library:

This is a theme library, **not** a control library.  There is a subtle difference.  Yes, there are some new custom controls, but their role is to specifically support either styling of existing WPF controls, or to Material Design components, as per the "Components" section in [Google's guidelines](https://www.google.com/design/spec/material-design/introduction.html).

The role of this library is to give users Material Design themes for standard WPF controls, and custom controls for Google specified components where no parallel exists in WPF, or where existing WPF controls cannot be sufficiently styled to meet the Google specification.  Anything else is outside the scope of this library. WPF is very powerful and flexible when it comes to creating custom controls, but that doesn't mean that I want to fill up this library with random controls.  I want to provide the base tools and controls for Material Design, giving people a springboard to create their own controls where required.

In no way is this library a home for any sort of application or business logic.

## Coding standards:

I code using standard Visual Studio settings, using Resharper, and adopt (most of the) ReSharper's suggestions.  I'd like the code to look pretty similar.

The API is king. If adding anything to the public interface of this library (controls, helpers etc) be mindful of the naming and usage.  Don't be offended if I accept your PR but rename things slightly.

## UWP:

This whole project is a personal hobby, and this is even more true of the UWP section.  I'm not accepting any PRs to UWP as I will be coding on this in my spare time, and using it as a way to learn and explore UWP for my own enlightenment.  If and when the UWP solution becomes more mature I will relax this stance.

## Submitting a PR:

Probably the smaller the better (within sensible bounds for the nature of your change); at least keep a single feature to a single branch/PR.


================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.yaml
================================================
name: Bug report
description: File a bug report
labels: ["bug", "evaluation required"]
body:
  - type: markdown
    attributes:
      value: |
        Thanks for taking the time to fill out this bug report!
        Seriously consider creating and linking to a test repo which takes absolutely minimal setup to illustrate how reproduce the problem.
  - type: textarea
    id: bug-explanation
    attributes:
      label: Bug explanation
      description: |
        - Tell us what is the problem and what did you expect to happen.
        - Explain the different steps to reproduce the bug.
        - Provide a minimal and reproducible example either with code snippets or ideally an example repository.
        
        You can attach some screenshots or/and videos to better illustrate the problem.
      placeholder: Explain the problem...
    validations:
      required: true
  - type: input
    id: version
    attributes:
      label: Version
      description: What version of our package are you running?
      placeholder: "Example: 4.5.0"
    validations:
      required: true

================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
  - name: GitHub discussion tab
    url: https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/discussions
    about: Please ask and answer questions here

================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement, evaluation required
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.

================================================
FILE: .github/copilot-instructions.md
================================================
# Copilot Instructions for MaterialDesignInXamlToolkit

## Repository Overview

The MaterialDesignInXamlToolkit is a **theme library** for WPF applications that provides Material Design themes and styling. This is NOT a control library - the focus is on theming existing WPF controls and providing custom controls only when necessary to support Google's Material Design specifications.

### Key Principles
- Theme library, not control library
- Styling existing WPF controls to match Material Design
- Custom controls only for Google-specified components that don't exist in WPF
- No application or business logic belongs in this library
- Provide base tools and springboard for developers to create their own controls

## Architecture and Structure

### Core Projects
- **`MaterialDesignThemes.Wpf`** - Main theming library with styles, templates, and controls
- **`MaterialDesignColors.Wpf`** - Color palette and theme management
- **`MaterialDesignThemes.MahApps`** - Integration with MahApps.Metro
- **`MainDemo.Wpf`** - Primary demonstration application
- **`MaterialDesign3.Demo.Wpf`** - Material Design 3 demonstration
- **`MaterialDesignToolkit.ResourceGeneration`** - Build-time resource generation tools

### Key Technologies
- **WPF (Windows Presentation Foundation)** - UI framework
- **XAML** - Markup for UI definitions and styles  
- **Material Design** - Google's design system implementation
- **.NET 8** and **.NET Framework 4.7.2** - Target frameworks for the library
- **.NET 9 SDK** - Required for building (as specified in `global.json`)
- **C# 12.0** - Programming language
- **PowerShell** - Build automation scripts

## Development Environment

### Requirements
- **Windows** - Required for WPF development and compilation
- **.NET 9 SDK** - As specified in `global.json` (note: projects target .NET 8 and .NET Framework 4.7.2)
- **Visual Studio 2022** or **Visual Studio Code** with C# extension
- **PowerShell** - For build scripts

### Build and Test
```powershell
# Restore dependencies
dotnet restore MaterialDesignToolkit.Full.slnx

# Build (requires Windows)
dotnet build MaterialDesignToolkit.Full.slnx --configuration Release --no-restore -p:Platform="Any CPU" -p:TreatWarningsAsErrors=True

# Run tests
dotnet test MaterialDesignToolkit.Full.slnx --configuration Release --no-build

# Build NuGet packages
.\build\BuildNugets.ps1 -MDIXVersion "x.x.x" -MDIXColorsVersion "x.x.x" -MDIXMahAppsVersion "x.x.x"
```

## Code Style and Conventions

### General Guidelines
- Follow standard Visual Studio settings with ReSharper suggestions
- Use .editorconfig settings (4-space indents for C#, 2-space for XAML/XML)
- Allman brace style (`csharp_new_line_before_open_brace = all`)
- No `this.` qualification unless necessary
- Prefer explicit types over `var` for built-in types
- Use PascalCase for public members, interfaces start with `I`

### C# Conventions
```csharp
// Preferred dependency property pattern
public static readonly DependencyProperty MyPropertyProperty =
    DependencyProperty.Register("MyProperty", typeof(string), typeof(MyControl), 
        new UIPropertyMetadata("DefaultValue", OnMyPropertyChanged));

public string MyProperty
{
    get => (string)GetValue(MyPropertyProperty);
    set => SetValue(MyPropertyProperty, value);
}

private static void OnMyPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
    var control = (MyControl)d;
    // Handle property change
}
```

### XAML Style Guidelines
- Use XamlStyler settings from `Settings.XamlStyler`
- 2-space indentation for XAML
- Keep first attribute on same line as element
- Order attributes according to defined groups
- Use `{StaticResource}` over `{DynamicResource}` where possible
- Follow resource naming: `MaterialDesign.Brush.Primary.Light`

## WPF and Material Design Context

### Theme Architecture
- **Base Themes**: Light and Dark variants
- **Color System**: Primary, Secondary, Surface, Background colors with variants
- **Elevation**: Shadow and overlay systems for depth
- **Typography**: Material Design text styles
- **Motion**: Transitions and animations

### Common Patterns
```csharp
// Theme modification pattern
private static void ModifyTheme(Action<Theme> modificationAction)
{
    var paletteHelper = new PaletteHelper();
    Theme theme = paletteHelper.GetTheme();
    
    modificationAction?.Invoke(theme);
    
    paletteHelper.SetTheme(theme);
}

// Color adjustment usage
theme.ColorAdjustment = new ColorAdjustment
{
    DesiredContrastRatio = desiredRatio,
    Contrast = contrastValue,
    Colors = colorSelection
};
```

### Resource Dictionary Patterns
```xml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes">
  
  <ResourceDictionary.MergedDictionaries>
    <materialDesign:BundledTheme BaseTheme="Light" PrimaryColor="DeepPurple" SecondaryColor="Lime" />
    <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/Generic.xaml" />
  </ResourceDictionary.MergedDictionaries>

</ResourceDictionary>
```

## Testing Approach

### Test Structure
- **Unit Tests**: `MaterialDesignThemes.Wpf.Tests`, `MaterialDesignColors.Wpf.Tests`
- **UI Tests**: `MaterialDesignThemes.UITests` - Visual/integration testing
- **Demo Applications**: Manual testing and showcasing functionality

### Test Patterns
```csharp
[Test]
public async Task ThemeTest_Example()
{
    await App.InitializeWithMaterialDesign(
        baseTheme: BaseTheme.Light,
        primary: PrimaryColor.Blue,
        secondary: SecondaryColor.Orange);
        
    // Test implementation
}
```

## Build Pipeline and Automation

### GitHub Actions Workflows
- **PR Verification**: `pr_verification.yml` - Build and test on PRs
- **Build Artifacts**: `build_artifacts.yml` - Main build pipeline
- **Release**: `release.yml` - Create releases and publish NuGets

### PowerShell Build Scripts
- **`BuildNugets.ps1`** - Package creation
- **`ApplyXamlStyler.ps1`** - Code formatting
- **`MigrateBrushes.ps1`** - Resource migration utilities
- **`UpdateNugets.ps1`** - Package management

## Domain-Specific Knowledge

### Material Design Implementation
- Follow Google Material Design guidelines strictly
- Implement elevation through shadows and overlays
- Use consistent color theming system
- Support both Material Design 2 and 3 specifications
- Ensure accessibility compliance (contrast ratios, touch targets)

### WPF Theming Best Practices
- Use `TemplateBinding` for connecting to parent properties
- Implement proper focus visuals and keyboard navigation
- Support high contrast mode and accessibility features
- Use appropriate triggers for state changes (hover, pressed, disabled)
- Leverage WPF's dependency property system effectively

### Resource Organization
- Brush resources: `MaterialDesign.Brush.*`
- Style resources: Clear, descriptive names matching WPF conventions
- Template resources: Match control types and variants
- Color resources: Follow Material Design naming (Primary, Secondary, Surface, etc.)

## API Design Guidelines

- **Maintain backward compatibility** - This is a widely-used library
- **Minimal public API surface** - Only expose what's necessary
- **Consistent naming** - Follow WPF and Material Design conventions
- **Proper documentation** - XML docs for all public APIs
- **Designer support** - Ensure controls work well in Visual Studio designer

## Common Tasks and Patterns

### Adding a New Style
1. Define in appropriate XAML resource dictionary
2. Follow existing naming conventions
3. Test in demo applications
4. Ensure accessibility compliance
5. Add to migration scripts if replacing existing styles

### Theme Modifications
1. Use `PaletteHelper` for runtime theme changes
2. Support both static and dynamic resource binding
3. Test with both Light and Dark themes
4. Verify color adjustments work properly

### Custom Control Development
1. Only when no WPF equivalent exists
2. Follow Material Design specifications exactly
3. Implement proper template parts and visual states
4. Support theming and color adjustments
5. Include comprehensive tests and demo usage

Remember: This library's primary goal is to provide a complete, high-quality Material Design theming solution for WPF applications while maintaining excellent performance and broad compatibility.

================================================
FILE: .github/dependabot.yml
================================================
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
  - package-ecosystem: "nuget" # See documentation for possible values
    directory: "/" # Location of package manifests
    schedule:
      interval: "weekly"

  - package-ecosystem: "github-actions" # See documentation for possible values
    directory: "/" # Location of package manifests
    schedule:
      interval: "weekly" 


================================================
FILE: .github/release.yml
================================================
# .github/release.yml

changelog:
  exclude:
    labels:
      - ignore-for-release
    authors:
      - MDIX-SA
      - github-actions[bot]
  categories:
    - title: Key Changes 
      labels:
        - release notes
    - title: Breaking Changes 
      labels:
        - breaking change
        - visual breaking change
     


================================================
FILE: .github/workflows/build_artifacts.yml
================================================
name: Build Artifacts

on:
  workflow_call:
    inputs:
      build-configuration:
        default: "Release"
        required: false
        type: string
      mdix-version:
        required: true
        type: string
      mdix-colors-version:
        required: true
        type: string
      mdix-mahapps-version:
        required: true
        type: string

jobs:
  build:
    name: Build and Test
    runs-on: windows-latest

    env:
      solution: MaterialDesignToolkit.Full.slnx

    steps:
      - uses: actions/checkout@v6

      - name: Setup .NET
        uses: actions/setup-dotnet@v5
        with:
          dotnet-version: |
            8.x
            9.x
            10.x

      - name: Restore dependencies
        run: dotnet restore ${{ env.solution }}

      - name: Build
        run: dotnet build ${{ env.solution }} --configuration ${{ inputs.build-configuration }} --no-restore -p:Platform="Any CPU" -p:TreatWarningsAsErrors=True
        env:
          MDIXVersion: ${{ inputs.mdix-version }}
          MDIXColorsVersion: ${{ inputs.mdix-colors-version }}
          MDIXMahAppsVersion: ${{ inputs.mdix-mahapps-version }}

      - name: Test
        timeout-minutes: 20
        run: dotnet test ${{ env.solution }} --configuration ${{ inputs.build-configuration }} --no-build --blame-crash --logger GitHubActions

      - name: Upload Screenshots
        if: ${{ always() }}
        uses: actions/upload-artifact@v7
        with:
            name: Screenshots-${{ github.run_number }}
            path: ${{ github.workspace }}\tests\MaterialDesignThemes.UITests\bin\${{ inputs.build-configuration }}\net9.0-windows\Screenshots
            if-no-files-found: ignore

      - name: Build NuGets
        run: .\build\BuildNugets.ps1 -MDIXVersion ${{ inputs.mdix-version }} -MDIXColorsVersion ${{ inputs.mdix-colors-version }} -MDIXMahAppsVersion ${{ inputs.mdix-mahapps-version }}

      - name: Upload NuGets
        uses: actions/upload-artifact@v7
        with:
            name: NuGets
            path: "*.nupkg"

      - name: Upload Demo App
        uses: actions/upload-artifact@v7
        with:
            name: DemoApp
            path: "src/MainDemo.Wpf/bin/${{ env.buildConfiguration }}"


================================================
FILE: .github/workflows/control_styles.yml
================================================
name: Wiki - Update Control Styles

on:
    # push:
    #   branches: [ master ]
    workflow_dispatch:

jobs:
    build:
        runs-on: ubuntu-latest

        steps:
            - uses: actions/checkout@v6
            - name: Generate Control Styles Markdown
              run: build/GenerateThemesWikiMarkdown.ps1
              shell: pwsh
            - name: Upload Control Styles to Wiki
              uses: docker://decathlon/wiki-page-creator-action:latest
              env:
                  GH_PAT: ${{ secrets.SA_TOKEN }}
                  ACTION_MAIL: mdixsa@outlook.com
                  ACTION_NAME: Material Design Service Account
                  OWNER: MaterialDesignInXAML
                  REPO_NAME: MaterialDesignInXamlToolkit
                  MD_FOLDER: build
                  WIKI_PUSH_MESSAGE: Automatic update of ControlStyleList.md from GitHub Action


================================================
FILE: .github/workflows/copilot-setup-steps.yml
================================================
name: "Copilot Setup Steps"

# Automatically run the setup steps when they are changed to allow for easy validation, and
# allow manual testing through the repository's "Actions" tab
on:
  workflow_dispatch:
  push:
    paths:
      - .github/workflows/copilot-setup-steps.yml
  pull_request:
    paths:
      - .github/workflows/copilot-setup-steps.yml

defaults:
  run:
    shell: pwsh

jobs:
  # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
  copilot-setup-steps:
    runs-on: windows-latest

    permissions:
      contents: read

    steps:
      - name: Checkout code
        uses: actions/checkout@v6

      - name: Setup .NET
        uses: actions/setup-dotnet@v5
        with:
          dotnet-version: |
            8.x
            9.x
            10.x

      - name: Restore dependencies
        run: dotnet restore MaterialDesignToolkit.Full.slnx


================================================
FILE: .github/workflows/generate_contributors.yml
================================================
# This is a basic workflow to help you get started with Actions
name: Generate Milestone Contributors

# Controls when the workflow will run
on:
  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:
    inputs:
      milestone:
        description: 'The milestone to generate contributors'
        required: true
        type: string

jobs:
  show_contributors:
    runs-on: ubuntu-latest
    name: A job to get contributors
    steps:
      - name: GetContribs
        id: get-contribs
        uses: Keboo/GitHubHelper@master
        with:
          milestone: '${{ inputs.milestone }}'
          repository: 'MaterialDesignInXamlToolkit'
          repository-owner: 'MaterialDesignInXAML'
          token: ${{ github.token }}
      - name: Get the output
        run: echo "${{ steps.get-contribs.outputs.contributors }}"


================================================
FILE: .github/workflows/get_versions.yml
================================================
name: Setup Versions

on:
  workflow_call:
    inputs:
      is-full-release:
        required: false
        type: boolean
        default: false

    outputs:
      mdix-version:
        description: "The version for the MaterialDesignThemes library"
        value: ${{ jobs.getting_versions.outputs.mdix-version }}
      mdix-colors-version:
        description: "The version for the MaterialDesignColors library"
        value: ${{ jobs.getting_versions.outputs.mdix-colors-version }}
      mdix-mahapps-version:
        description: "The version for the MaterialDesignThemes.MahApps library"
        value: ${{ jobs.getting_versions.outputs.mdix-mahapps-version }}

jobs:
  getting_versions:
    env:
      #Update these base version numbers
      mdix-version: "5.3.1"
      mdix-colors-version: "5.3.1"
      mdix-mahapps-version: "5.3.1"
    name: Set version numbers
    runs-on: ubuntu-latest
    defaults:
      run:
        shell: pwsh
    # Map the job outputs to step outputs
    outputs:
      mdix-version: ${{ steps.output_versions.outputs.mdix-version }}
      mdix-colors-version: ${{ steps.output_versions.outputs.mdix-colors-version }}
      mdix-mahapps-version: ${{ steps.output_versions.outputs.mdix-mahapps-version }}
    steps:
      - name: Set preview version numbers
        if: ${{ !inputs.is-full-release }}
        run: |
          "mdix-version=${{ env.mdix-version }}-ci${{ github.run_number }}" >> $env:GITHUB_ENV
          "mdix-colors-version=${{ env.mdix-colors-version }}-ci${{ github.run_number }}" >> $env:GITHUB_ENV
          "mdix-mahapps-version=${{ env.mdix-mahapps-version }}-ci${{ github.run_number }}" >> $env:GITHUB_ENV
      - name: Output Versions
        id: output_versions
        run: |
          echo ${{ env.mdix-version }}
          "mdix-version=${{ env.mdix-version }}" >> $env:GITHUB_OUTPUT
          echo ${{ env.mdix-colors-version }}
          "mdix-colors-version=${{ env.mdix-colors-version }}" >> $env:GITHUB_OUTPUT
          echo ${{ env.mdix-mahapps-version }}
          "mdix-mahapps-version=${{ env.mdix-mahapps-version }}" >> $env:GITHUB_OUTPUT


================================================
FILE: .github/workflows/icon_update.yml
================================================
name: Icon Update

on:
    workflow_dispatch:
    schedule:
        - cron: "0 3 * * *"

env:
    GH_TOKEN: ${{ secrets.SA_PAT }}

defaults:
    run:
        shell: pwsh

jobs:
    build:
        #This check prevents this from running on forks
        if: ${{ github.repository == 'MaterialDesignInXAML/MaterialDesignInXamlToolkit' }}

        runs-on: windows-latest

        steps:
            - uses: actions/checkout@v6
            
            - name: Run Icon Generation
              run: dotnet run -c Release -- icons
              working-directory: ./src/MaterialDesignToolkit.ResourceGeneration

            - name: Check for changes
              id: check_for_changes
              run: |
                  $hasChanges = $((git status --porcelain).Length -gt 0).ToString().ToLower()
                  "has_changes=$hasChanges" >> $env:GITHUB_OUTPUT

            - name: Open Pull Request
              if: ${{ steps.check_for_changes.outputs.has_changes == 'true' }}
              run: |
                  git config --local user.email "github-actions[bot]@users.noreply.github.com"
                  git config --local user.name "github-actions[bot]"
                  git checkout -b "automated/icon_update"
                  git commit -m "[bot] Pack Icon update" --all
                  git push -f --set-upstream origin automated/icon_update
                  gh pr create --fill
                  gh pr merge automated/icon_update --delete-branch --auto --squash


================================================
FILE: .github/workflows/nightly_release.yml
================================================
name: Nightly Release

on:
  workflow_dispatch:
  schedule:
    - cron:  '0 9 * * *'

env:
  GH_TOKEN: ${{ github.token }}

defaults:
  run:
    shell: pwsh

jobs:
  check_for_changes:
    #This check prevents this from running on forks
    if: ${{ github.repository == 'MaterialDesignInXAML/MaterialDesignInXamlToolkit' }}
    runs-on: ubuntu-latest

    outputs:
      should_run: ${{ steps.check_for_changes.outputs.has_changed }}

    steps:
    - id: check_for_changes
      name: Check for changes
      run: |
        # Grab the last two run, since the latest run will be the current one executing
        $workflowList = gh run list --workflow "${{ github.workflow }}" --branch "${{ github.ref_name }}" --json databaseId --limit 2 --repo "${{ github.repository }}"
        $runId = ($workflowList | ConvertFrom-Json)[1].databaseId
        $lastRunHash = ((gh run view $runId --json headSha --repo "${{ github.repository }}") | ConvertFrom-Json).headSha

        echo "Last hash $lastRunHash"
        echo "Current hash ${{ github.sha }}"

        $hasChanged = ($lastRunHash -ne "${{ github.sha }}").ToString().ToLower()
        echo "Has updates $hasChanged"
        "has_changed=$hasChanged" >> $env:GITHUB_OUTPUT
        
  get_versions:
    needs: [check_for_changes]
    if: ${{ needs.check_for_changes.outputs.should_run == 'true' }}
    name: Get Versions
    uses: ./.github/workflows/get_versions.yml

  build_artifacts:
    name: Build artifacts
    needs: [get_versions, check_for_changes]
    if: ${{ needs.check_for_changes.outputs.should_run == 'true' }}
    uses: ./.github/workflows/build_artifacts.yml
    with:
      mdix-version: ${{ needs.get_versions.outputs.mdix-version }}
      mdix-colors-version: ${{ needs.get_versions.outputs.mdix-colors-version }}
      mdix-mahapps-version: ${{ needs.get_versions.outputs.mdix-mahapps-version }}

  push_nugets:
    needs: [build_artifacts]
    runs-on: ubuntu-latest
    name: Push NuGets

    steps:
      - name: Download NuGet Artifacts
        uses: actions/download-artifact@v8
        with:
          name: NuGets
          path: nugets

      - name: Push NuGets
        run: |
          dotnet nuget push nugets/*.nupkg --api-key ${{ secrets.PAT }} --source https://api.nuget.org/v3/index.json --skip-duplicate


================================================
FILE: .github/workflows/pr_verification.yml
================================================
name: Pull Request Verification

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]
  workflow_dispatch:

defaults:
  run:
    shell: pwsh

jobs:
  build:
    name: Build artifacts
    uses: ./.github/workflows/build_artifacts.yml
    with:
      mdix-version: "0.0.0"
      mdix-colors-version: "0.0.0"
      mdix-mahapps-version: "0.0.0"

  automerge:
    needs: build
    runs-on: ubuntu-latest

    permissions:
      pull-requests: write
      contents: write

    steps:
      - uses: fastify/github-action-merge-dependabot@v3.11.2


================================================
FILE: .github/workflows/release.yml
================================================
name: Production Release

on:
  workflow_dispatch:
    inputs:
      milestone:
        description: "The milestone to generate a release for"
        required: true
        type: string

env:
  solution: MaterialDesignToolkit.Full.slnx
  GITHUB_TOKEN: ${{ secrets.SA_PAT }}

defaults:
  run:
    shell: pwsh


jobs:
  get_versions:
    name: Get Versions
    uses: ./.github/workflows/get_versions.yml
    with:
      is-full-release: true

  version_number_check:
    needs: [get_versions]
    runs-on: ubuntu-latest
    name: Version matches milestone

    steps:
      - name: Check versions
        run: |
          if ('${{ inputs.milestone }}' -ne '${{ needs.get_versions.outputs.mdix-version }}') {
              Write-Error "Milestone ${{ inputs.milestone }} does not match MDIX ${{ needs.get_versions.outputs.mdix-version }}"
              exit 1
          } else {
              Write-Host "Versions match"
          }

  build_release_notes:
    runs-on: ubuntu-latest
    name: Generate Release Notes

    steps:
      - name: Get Contributors
        id: get-contribs
        uses: Keboo/GitHubHelper@master
        with:
          milestone: "${{ inputs.milestone }}"
          repository: "MaterialDesignInXamlToolkit"
          repository-owner: "MaterialDesignInXAML"
          token: ${{ github.token }}

      - name: Generate Release Notes
        run: |
          $response = gh api --method POST -H "Accept: application/vnd.github+json" /repos/${{ github.repository }}/releases/generate-notes -f tag_name='v${{ inputs.milestone }}'
          $json = $response | ConvertFrom-Json
          $releaseNotes = $json.body
          $contributors = "${{ steps.get-contribs.outputs.contributors }}"
          $releaseNotes | Out-File -Append "ReleaseNotes.md"
          "`n" | Out-File -Append "ReleaseNotes.md"
          $contributors | Out-File -Append "ReleaseNotes.md"
          cat "ReleaseNotes.md"

      - name: Upload Release Notes
        uses: actions/upload-artifact@v7
        with:
          name: ReleaseNotes
          path: "ReleaseNotes.md"

  build_artifacts:
    name: Build artifacts
    needs: get_versions
    uses: ./.github/workflows/build_artifacts.yml
    with:
      mdix-version: ${{ needs.get_versions.outputs.mdix-version }}
      mdix-colors-version: ${{ needs.get_versions.outputs.mdix-colors-version }}
      mdix-mahapps-version: ${{ needs.get_versions.outputs.mdix-mahapps-version }}

  build_icon_changes:
    needs: [build_artifacts]
    runs-on: windows-latest
    name: Get Icon Changes

    steps:
      - uses: actions/checkout@v6
        with:
          fetch-depth: 0

      - name: Download NuGet Artifacts
        uses: actions/download-artifact@v8
        with:
          name: NuGets
          path: nugets

      - name: Get Previous NuGet release
        run: |
          $release = (gh api -H "Accept: application/vnd.github+json" /repos/${{ github.repository }}/releases/latest) | ConvertFrom-Json
          gh release download "$($release.tag_name)" --repo "${{ github.repository }}" --pattern *.nupkg
        working-directory: nugets

      - name: Create Icon Diff File
        run: |
          dotnet run --project ./src/MaterialDesignToolkit.ResourceGeneration/MaterialDesignToolkit.ResourceGeneration.csproj -c Release -- icon-diff

      - name: Upload Icon Changes
        uses: actions/upload-artifact@v7
        with:
          name: IconChanges
          path: "IconChanges*.md"

  create_release:
    needs:
      [
        build_release_notes,
        build_artifacts,
        build_icon_changes,
        version_number_check,
      ]
    runs-on: ubuntu-latest
    name: Create Draft Release

    steps:
      - name: Download NuGet Artifacts
        uses: actions/download-artifact@v8
        with:
          name: NuGets
          path: nugets

      - name: Download Demo App Artifacts
        uses: actions/download-artifact@v8
        with:
          name: DemoApp
          path: demo-app

      - name: Zip Demo App
        run: zip -r DemoApp.zip demo-app/*

      - name: Download Release Notes
        uses: actions/download-artifact@v8
        with:
          name: ReleaseNotes

      - name: Create Release
        run: |
          # We can't use glob pattern because of this bug https://github.com/cli/cli/issues/5099
          gh release create v${{ inputs.milestone }} --repo '${{ github.repository }}' --draft --latest --title "${{ inputs.milestone }}" --notes-file ReleaseNotes.md (Get-Item '${{ github.workspace }}/nugets/*.nupkg') '${{ github.workspace }}/DemoApp.zip'

  update_wiki:
    needs: [create_release]
    runs-on: ubuntu-latest
    environment: production
    name: Update Wiki

    steps:
      - name: Checkout Wiki Repo
        uses: actions/checkout@v6
        with:
          repository: ${{ github.repository }}.wiki

      - name: Download Icon Changes
        uses: actions/download-artifact@v8
        with:
          name: IconChanges
          path: icon-changes

      - name: Update Wiki
        run: |
          $iconUpdates = Get-ChildItem -Path "icon-changes/*.md"
          foreach($update in $iconUpdates){
            Write-Host "Updating from $update"
            if ($update.Name -match '-(?<PreviousVersion>\d+\.\d+\.\d+)--(?<TargetVersion>\d+\.\d+\.\d+).md$') {
              $previousVersion = $Matches.PreviousVersion
              $targetVersion = $Matches.TargetVersion
              
              $majorVersion = $targetVersion.Split(".") | Select-Object -First 1
              
              # Update the changes
              $changesFileName = "$majorVersion-x-icon-changes"
              $changesFile = "$changesFileName.md"
              
              if (!(Test-Path $changesFile)) {
                  New-Item -ItemType File $changesFile | Out-Null
              }
              @(
                  (Get-Content $update),
                  "",
                  (Get-Content $changesFile)
              ) | Set-Content $changesFile
              
              # Update the PackIcon Release notes
              [string[]] $releaseNotes = Get-Content "PackIcon-ReleaseNotes.md"
              
              $firstLine = $releaseNotes | Where-Object { $_.StartsWith("[Pack Icon Changes") } | Select-Object -First 1
              $index = $releaseNotes.IndexOf($firstLine)
              
              @(
                  ($releaseNotes | Select-Object -First $index),
                  "[Pack Icon Changes $previousVersion => $targetVersion]($changesFileName#pack-icon-changes-$($previousVersion -replace '\.', '')--$($targetVersion -replace '\.', ''))",
                  "",
                  ($releaseNotes | Select-Object -Skip $index)
              ) | Set-Content "PackIcon-ReleaseNotes.md"
              Remove-Item $update
            } else {
              Write-Warning "Did not parse version from $($update.Name)"
            }
          }

      - name: Push Wiki
        run: |
          git config --local user.email "github-actions[bot]@users.noreply.github.com"
          git config --local user.name "github-actions[bot]"
          git add .
          git commit -m "[automated] Update Wiki with icon changes for ${{ inputs.milestone }}" --all
          git push

  push_nugets:
    needs: [create_release]
    runs-on: ubuntu-latest
    name: Push NuGets
    environment: production

    steps:
      - name: Download NuGet Artifacts
        uses: actions/download-artifact@v8
        with:
          name: NuGets
          path: nugets

      - name: Push NuGets
        run: |
          dotnet nuget push nugets/*.nupkg --api-key ${{ secrets.PAT }} --source https://api.nuget.org/v3/index.json --skip-duplicate

  publish_release:
    needs: [create_release]
    runs-on: ubuntu-latest
    name: Publish Release
    environment: production

    steps:
      - name: Publish Release
        run: |
          gh release edit v${{ inputs.milestone }} --repo '${{ github.repository }}' --draft=false

  close_milestone:
    needs: [create_release]
    runs-on: ubuntu-latest
    name: Close Milestone
    environment: production

    steps:
      # Doing a checkout, until this issue is resolved.
      # https://github.com/valeriobelli/gh-milestone/issues/15
      # As of version 2.1.0 the -R doesn't appear to output valid json when filtering. So still using the checkout.
      - uses: actions/checkout@v6

      - name: Close Milestone
        run: |
          gh extension install valeriobelli/gh-milestone
          Write-Host "Using extension version $(gh milestone --version)"
          $milestones = $(gh milestone list --json number,title) | ConvertFrom-Json
          $milestoneNumber = ($milestones | Where-Object { $_.title -eq "${{ inputs.milestone }}" }).number
          gh milestone edit $milestoneNumber --state closed
        env:
          GITHUB_TOKEN: ${{ secrets.SA_PAT }}

  update_version_numbers:
    needs: [create_release]
    runs-on: ubuntu-latest
    name: Update Version Numbers
    environment: production

    steps:
      # Checkout is needed so that we can update the get_versions.yml file
      - uses: actions/checkout@v6
        with:
          token: ${{ secrets.SA_PAT }}

      - name: Increment Version Numbers
        run: |
          function Update-Version {
              param (
                [string]$Prefix
              )
              $workflowPath = "./.github/workflows/get_versions.yml"
              $workflowContent = Get-Content -Path $workflowPath

              $versionPattern = '"(\d+\.\d+\.)(\d+)"'
              $pattern = "$Prefix`: $versionPattern"
              $match = $workflowContent -match $pattern

              if ($match[0] -match $versionPattern) {
                  $newVersion = $Matches[1] + ([int]$Matches[2] + 1)
                  $workflowContent = $workflowContent -replace $pattern,"$Prefix`: `"$newVersion`""
                  Write-Host "$Prefix updated to $newVersion"
              } else {
                  Write-Error "Failed to update $Prefix version"
              }

              Set-Content -Path $workflowPath -Value $workflowContent
          }

          Update-Version -Prefix "mdix-version"
          Update-Version -Prefix "mdix-colors-version"
          Update-Version -Prefix "mdix-mahapps-version"

      - name: Open Pull Request
        env:
          GH_TOKEN: ${{ secrets.SA_PAT }}
        run: |
          git config --local user.email "github-actions[bot]@users.noreply.github.com"
          git config --local user.name "github-actions[bot]"
          git checkout -b "automated/version_update"
          git commit -m "[bot] Release version update" --all
          git push -f --set-upstream origin automated/version_update
          gh pr create --fill
          gh pr merge automated/version_update --delete-branch --auto --squash


================================================
FILE: .github/workflows/stale_issues_and_prs.yml
================================================
name: 'Close stale issues and PRs'
on:
  schedule:
    - cron: '30 1 * * *'
  workflow_dispatch:

jobs:
  stale:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/stale@v10
        with:
          stale-issue-message: 'This issue is marked stale because it has been open 30 days with no activity. Remove stale label or update the issue, otherwise it will be closed in 14 days.'
          stale-pr-message: 'This PR is marked stale because it has been open 60 days with no activity. Remove stale label or update the PR, otherwise it will be closed in 14 days.'
          close-issue-message: 'This issue was closed because it has been stalled for 14 days with no activity.'
          close-pr-message: 'This PR was closed because it has been stalled for 14 days with no activity.'
          only-issue-labels: Waiting on feedback            # Only consider issues with 'Waiting on feedback' labels
          exempt-draft-pr: true                             # Do not consider a draft PR stale
          exempt-all-pr-milestones: true                    # Do not consider a PR associated with a Milestone stale
          days-before-stale: 30
          days-before-pr-stale: 60
          days-before-close: 14
          ascending: true                                   # Start with the oldest issues/PRs first
          debug-only: false                                 # Currently only doing "dry runs" until we're satisfied with the configuration
          operations-per-run: 30                            # GitHub API calls are rate limited. When debug-only is "false", this value should be approx. 30 (default) or less

================================================
FILE: .gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/

# Visual Studio 2015/2017 cache/options directory
.vs/

# JetBrains Rider
.idea

# Roslyn cache directories
*.ide/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

#NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# JustCode is a .NET coding addin-in
.JustCode

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
_NCrunch_*
.*crunch*.local.xml

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# If using the old MSBuild-Integrated Package Restore, uncomment this:
#!**/packages/repositories.config

# Windows Azure Build Output
csx/
*.build.csdef

# Windows Store app package directory
AppPackages/

# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
*.mdf
*.ldf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings

# Microsoft Fakes
FakesAssemblies/

# =========================
# Operating System Files
# =========================

# OSX
# =========================

.DS_Store
.AppleDouble
.LSOverride

# Thumbnails
._*

# Files that might appear on external disk
.Spotlight-V100
.Trashes

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

# Windows
# =========================

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

#React.JS
.module-cache

*.lutconfig


================================================
FILE: Directory.Build.props
================================================
<Project>
  <PropertyGroup>
    <Copyright>Copyright © 2022</Copyright>
    <Company>Mulholland Software/James Willock</Company>

    <LangVersion>14.0</LangVersion>
    <ErrorReport>prompt</ErrorReport>

    <SignAssembly>true</SignAssembly>
    <AssemblyOriginatorKeyFile>..\..\build\key.snk</AssemblyOriginatorKeyFile>
    <DelaySign>false</DelaySign>

    <Nullable>enable</Nullable>

    <AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
    <SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
    
    <!-- Common Package Properties -->
    <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
    <Authors>James Willock</Authors>
    <Owners>James Willock</Owners>
    <PackageLicenseExpression>MIT</PackageLicenseExpression>
    <PackageProjectUrl>https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit</PackageProjectUrl>
    <PackageIcon>MaterialDesign.Icon.png</PackageIcon>
    <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
    <PackageReadmeFile>README.md</PackageReadmeFile>
    <PackageReleaseNotes>https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/releases</PackageReleaseNotes>
  </PropertyGroup>

  <ItemGroup>
    <Using Include="System" />
    <Using Include="System.Collections.Generic" />
    <Using Include="System.IO" />
    <Using Include="System.Linq" />
    <Using Include="System.Text" />
    <Using Include="System.Threading.Tasks" />
    <Using Include="System.Windows" />
    <Using Include="System.Windows.Controls" />
    <Using Include="System.Windows.Controls.Primitives" />
    <Using Include="System.Windows.Input" />
    <Using Include="System.Windows.Markup" />
  </ItemGroup>

  <!-- Common Package Content -->
  <ItemGroup>
    <None Include="$(MSBuildThisFileDirectory)build\MaterialDesign.Icon.png" Pack="true" PackagePath="\" />
    <None Include="$(MSBuildThisFileDirectory)README.md" Pack="true" PackagePath="\" />
  </ItemGroup>
</Project>


================================================
FILE: Directory.packages.props
================================================
<Project>
  <PropertyGroup>
    <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
    <!-- https://learn.microsoft.com/nuget/consume-packages/Central-Package-Management?WT.mc_id=DT-MVP-5003472#transitive-pinning -->
    <CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
  </PropertyGroup>
  
  <ItemGroup>
    <PackageVersion Include="BluwolfIcons" Version="1.0.1" />
    <PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.0" />
    <PackageVersion Include="Dragablz" Version="0.0.3.234" />
    <PackageVersion Include="GitHubActionsTestLogger" Version="2.4.1" />
    <PackageVersion Include="Humanizer" Version="2.14.1" />
    <PackageVersion Include="MahApps.Metro" Version="2.4.11" />
    <PackageVersion Include="Microsoft.Bcl.HashCode" Version="6.0.0" />
    <PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4" PrivateAssets="all" />
    <PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.8.0" />
    <PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0" />
    <PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.8.0" />
    <PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="4.8.0" />
    <PackageVersion Include="Microsoft.Composition" Version="1.0.31" />
    <PackageVersion Include="Microsoft.CSharp" Version="4.7.0" />
    <PackageVersion Include="Microsoft.NETCore.Platforms" Version="7.0.4" />
    <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
    <PackageVersion Include="Microsoft.Toolkit.MVVM" Version="7.1.2" />
    <PackageVersion Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.77" />
    <PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
    <PackageVersion Include="Polyfill" Version="8.8.1" />
    <PackageVersion Include="Shouldly" Version="4.3.0" />
    <PackageVersion Include="ShowMeTheXAML" Version="2.0.0" />
    <PackageVersion Include="ShowMeTheXAML.AvalonEdit" Version="2.0.0" />
    <PackageVersion Include="ShowMeTheXAML.MSBuild" Version="2.0.0" />
    <PackageVersion Include="System.CommandLine" Version="2.0.2" />
    <PackageVersion Include="System.Memory" Version="4.6.3" />
    <PackageVersion Include="System.Private.Uri" Version="4.3.2" />
    <PackageVersion Include="System.ValueTuple" Version="4.6.1" />
    <PackageVersion Include="TUnit" Version="0.25.21" />
    <PackageVersion Include="VirtualizingWrapPanel" Version="1.5.8" />
    <PackageVersion Include="XAMLTest" Version="1.3.1-ci662" />
  </ItemGroup>
</Project>


================================================
FILE: LICENSE
================================================
The MIT License (MIT)

Copyright (c) James Willock,  Mulholland Software and Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

================================================
FILE: MaterialDesignToolkit.Full.slnx
================================================
<Solution>
  <Configurations>
    <Platform Name="Any CPU" />
    <Platform Name="ARM" />
    <Platform Name="x64" />
    <Platform Name="x86" />
  </Configurations>
  <Folder Name="/Demos/">
    <Project Path="src/MahMaterialDragablzMashUp/MahAppsDragablzDemo.csproj" />
    <Project Path="src/MainDemo.Wpf/MaterialDesignDemo.csproj" />
    <Project Path="src/MaterialDesign3.Demo.Wpf/MaterialDesign3Demo.csproj" />
    <Project Path="src/MaterialDesignDemo.Shared/MaterialDesignDemo.Shared.csproj" />
  </Folder>
  <Folder Name="/Solution Items/">
    <File Path=".config/dotnet-tools.json" />
    <File Path=".editorconfig" />
    <File Path="build/BuildNugets.ps1" />
    <File Path="build/MigrateBrushes.ps1" />
    <File Path="Directory.Build.props" />
    <File Path="Directory.packages.props" />
    <File Path="global.json" />
    <File Path="nuget.config" />
    <File Path="README.md" />
    <File Path="Settings.XAMLStyler" />
  </Folder>
  <Folder Name="/Solution Items/Build/">
    <File Path=".github/workflows/build_artifacts.yml" />
    <File Path=".github/workflows/control_styles.yml" />
    <File Path=".github/workflows/get_versions.yml" />
    <File Path=".github/workflows/icon_update.yml" />
    <File Path=".github/workflows/nightly_release.yml" />
    <File Path=".github/workflows/pr_verification.yml" />
    <File Path=".github/workflows/release.yml" />
  </Folder>
  <Folder Name="/Tools/">
    <Project Path="src/MaterialDesign3.MaterialColorUtilities/MaterialColorUtilities.csproj" />
    <Project Path="src/MaterialDesign3.Motion/Motion.csproj" />
    <Project Path="src/MaterialDesignToolkit.ResourceGeneration/MaterialDesignToolkit.ResourceGeneration.csproj" />
    <Project Path="tests/MaterialColorUtilities.Tests/MaterialColorUtilities.Tests.csproj" />
  </Folder>
  <Folder Name="/web/">
    <File Path="src/web/images/MashUp.gif" />
    <File Path="src/web/PaletteBuilder.html" />
    <File Path="src/web/scripts/PaletteBuilder.js" />
  </Folder>
  <Project Path="src/MaterialDesignColors.Wpf/MaterialDesignColors.Wpf.csproj" />
  <Project Path="src/MaterialDesignThemes.MahApps/MaterialDesignThemes.MahApps.csproj" />
  <Project Path="src/MaterialDesignThemes.Wpf/MaterialDesignThemes.Wpf.csproj" />
  <Project Path="tests/MaterialDesignColors.Wpf.Tests/MaterialDesignColors.Wpf.Tests.csproj" />
  <Project Path="tests/MaterialDesignThemes.UITests/MaterialDesignThemes.UITests.csproj">
    <BuildDependency Project="src/MainDemo.Wpf/MaterialDesignDemo.csproj" />
  </Project>
  <Project Path="tests/MaterialDesignThemes.Wpf.Tests/MaterialDesignThemes.Wpf.Tests.csproj" />
</Solution>


================================================
FILE: README.md
================================================
<!-- omit in toc -->
# Material Design In XAML Toolkit ![Logo of Material Design in XAML](src/web/images/MD4XAML32.png)

[![NuGet-Themes](https://img.shields.io/nuget/v/MaterialDesignThemes.svg?label=nuget:%20MaterialDesignThemes)](https://www.nuget.org/packages/MaterialDesignThemes/)
[![NuGet-Colors](https://img.shields.io/nuget/v/MaterialDesignColors.svg?label=nuget:%20MaterialDesignColors)](https://www.nuget.org/packages/MaterialDesignColors/)

[![NuGet-Themes-CI](https://img.shields.io/nuget/vpre/MaterialDesignThemes.svg?label=nuget:%20MaterialDesignThemes%20(CI))](https://www.nuget.org/packages/MaterialDesignThemes/)
[![NuGet-Colors-CI](https://img.shields.io/nuget/vpre/MaterialDesignColors.svg?label=nuget:%20MaterialDesignColors%20(CI))](https://www.nuget.org/packages/MaterialDesignColors/)

[![Backers on Open Collective](https://opencollective.com/materialdesigninxaml/backers/badge.svg)](#backers) 
[![Sponsors on Open Collective](https://opencollective.com/materialdesigninxaml/sponsors/badge.svg)](#sponsors) 
[![Chat](https://img.shields.io/badge/chat-grey?logo=discord)][discord-server-url]
[![Issues](https://img.shields.io/github/issues/MaterialDesignInXAML/MaterialDesignInXamlToolkit.svg)](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/issues)


Comprehensive and easy to use Material Design theme and control library for the Windows desktop (WPF).

- Material Design styles for all major WPF Framework controls
- Additional controls to support the theme, including Multi Action Button, Cards, Dialogs, Clock
- Easy configuration of palette (at design _and_ runtime), according to [Google's guidelines](https://material.io/design/)
- Full [Material Design Icons](https://materialdesignicons.com/) icon pack
- Easy transition effects
- Compatible with [Dragablz](https://github.com/ButchersBoy/Dragablz), [MahApps](https://github.com/MahApps/MahApps.Metro)
- Demo applications included in the source project

[See screenshots](#screenshots)

<details>
  <summary>Table of contents</summary>

- [Getting started](#getting-started)
- [Building the source](#building-the-source)
- [Screenshots](#screenshots)
- [More examples](#more-examples)
- [FAQ](#faq)
- [Contributing](#contributing)
- [Mentions](#mentions)
- [Backers](#backers)
- [Sponsors](#sponsors)

</details>

---

## Getting started

> [!NOTE]
> See the [full starting guide](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/wiki/Getting-Started) for more in-depth information.

This quick guide assumes you have already created a WPF project and are using Microsoft Visual Studio 2022.

* Install the toolkit through the visual NuGet package manager in Visual Studio or use the following command:
```
Install-Package MaterialDesignThemes
```
* Alter your `App.xaml`

```xml
<Application 
  x:Class="Example.App"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
  StartupUri="MainWindow.xaml">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <materialDesign:BundledTheme BaseTheme="Light" PrimaryColor="DeepPurple" SecondaryColor="Lime" />

                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesign2.Defaults.xaml" /> 
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>
```
* If you want to target Material Design 3, alter the `ResourceDictionary` line in the snippet above to use `MaterialDesign3.Defaults.xaml`.

* Alter your `MainWindow.xaml`

```xml
<Window [...]
  Style="{StaticResource MaterialDesignWindow}"
  [...] >
```


## Building the source

To build the project, following is required:
* Microsoft Visual Studio 2022
* .NET desktop development workload

This repository also contains 3 different demo applications:
* `MaterialDesignDemo` - Reference WPF app with Material Design 2 styling, this contains all controls and is a recommended tool when developing apps with this library
* `MaterialDesign3Demo` - Reference WPF app with Material Design 3 styling, under development
* `MahAppsDragablzDemo` - Demo app for combining with Dragablz and MahApps

## Screenshots

<details>
  <summary>Material Design 3 demo app screenshots</summary>

  ![Buttons](src/web/images/screen-md3/buttons.png)
  ![Cards](src/web/images/screen-md3/cards.png)
  ![Chips](src/web/images/screen-md3/chips.png)
  ![Colortool](src/web/images/screen-md3/colortool.png)
  ![Colorzones](src/web/images/screen-md3/colorzones.png)
  ![Comboboxes](src/web/images/screen-md3/comboboxes.png)
  ![Datagrids](src/web/images/screen-md3/datagrids.png)
  ![Dialogs](src/web/images/screen-md3/dialogs.png)
  ![Drawer](src/web/images/screen-md3/drawer.png)
  ![Elevation](src/web/images/screen-md3/elevation.png)
  ![Expander](src/web/images/screen-md3/expander.png)
  ![Fields](src/web/images/screen-md3/fields.png)
  ![Fieldslineup](src/web/images/screen-md3/fieldslineup.png)
  ![Groupboxes](src/web/images/screen-md3/groupboxes.png)
  ![Home](src/web/images/screen-md3/home.png)
  ![Iconpack](src/web/images/screen-md3/iconpack.png)
  ![Lists](src/web/images/screen-md3/lists.png)
  ![Menustoolbars](src/web/images/screen-md3/menustoolbars.png)
  ![Navigationbar](src/web/images/screen-md3/navigationbar.png)
  ![Navigationrail](src/web/images/screen-md3/navigationrail.png)
  ![Pallete](src/web/images/screen-md3/pallete.png)
  ![Pickers](src/web/images/screen-md3/pickers.png)
  ![Progressindicators](src/web/images/screen-md3/progressindicators.png)
  ![Ratingbar](src/web/images/screen-md3/ratingbar.png)
  ![Slider](src/web/images/screen-md3/slider.png)
  ![Snackbar](src/web/images/screen-md3/snackbar.png)
  ![Toggles](src/web/images/screen-md3/toggles.png)
  ![Tooltips](src/web/images/screen-md3/tooltips.png)
  ![Transitions](src/web/images/screen-md3/transitions.png)
  ![Trees](src/web/images/screen-md3/trees.png)
  ![Typography](src/web/images/screen-md3/typography.png)

</details>

<details>

  <summary>Material Design 2 demo app screenshots</summary>

  > [!WARNING]
  > The screenshots below are taken from the Material Design 2 demo app.
  > Material Design 3 is the latest version, so the UI shown here may differ from the latest design.

  ![Screenshot of WPF Material Design 2 demo application home page](src/web/images/screen-md2/home.png)
  ![Buttons](src/web/images/screen-md2/buttons.png)
  ![Toggles](src/web/images/screen-md2/toggles.png)
  ![Fields](src/web/images/screen-md2/fields.png)
  ![ComboBoxes](src/web/images/screen-md2/comboboxes.png)
  ![Palette](src/web/images/screen-md2/palette.png)
  ![Color Tools](src/web/images/screen-md2/colortools.png)
  ![Pickers](src/web/images/screen-md2/pickers.png)
  ![Icons](src/web/images/screen-md2/iconpack.png)
  ![Cards](src/web/images/screen-md2/cards.png)
  ![Menus and Toolbars](src/web/images/screen-md2/menutoolbar.png)
  ![Progress Bars](src/web/images/screen-md2/progress.png)
  ![Dialogs](src/web/images/screen-md2/dialogs.png)
  ![Lists](src/web/images/screen-md2/lists.png)
  ![Tree View](src/web/images/screen-md2/treeview.png)
  ![Sliders](src/web/images/screen-md2/sliders.png)
  ![Chips](src/web/images/screen-md2/chips.png)
  ![Typography](src/web/images/screen-md2/typography.png)
  ![Group Box](src/web/images/screen-md2/groupbox.png)
  ![Snackbars](src/web/images/screen-md2/snackbars.png)
  ![Elevation](src/web/images/screen-md2/elevation.png)
  ![Colorzones](src/web/images/screen-md2/colorzones.png)
  ![Datagrids](src/web/images/screen-md2/datagrids.png)
  ![Drawer](src/web/images/screen-md2/drawer.png)
  ![Expander](src/web/images/screen-md2/expander.png)
  ![Fieldslineup](src/web/images/screen-md2/fieldslineup.png)
  ![Navigationrail](src/web/images/screen-md2/navigationrail.png)
  ![NumericUpDown](src/web/images/screen-md2/numericupdown.png)
  ![Ratingbar](src/web/images/screen-md2/ratingbar.png)
  ![Tabs](src/web/images/screen-md2/tabs.png)
  ![Tooltips](src/web/images/screen-md2/tooltips.png)
  ![Transitions](src/web/images/screen-md2/transitions.png)
</details>

## More examples

* [Keboo/MaterialDesign.Examples](https://github.com/Keboo/MaterialDesignInXaml.Examples)
* [Motion List](https://github.com/MaterialDesignInXAML/MotionList)

## FAQ

* [How to increase rendering performance?](docs/rendering-performance.md)

## Contributing

Before contributing code read the [Contribution Guidelines](.github/CONTRIBUTING.md)
* GitHub issues are for bugs and feature requests.
* For questions, help and chat in general, please use the [GitHub discussion tab](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/discussions) or the [Discord server][discord-server-url].
* Stack Overflow tag: [`material-design-in-xaml`](http://stackoverflow.com/questions/tagged/material-design-in-xaml)

Want to say thanks? 🙏🏻
* Hit the :star: star :star: button
* If you'd like to make a very much appreciated financial donation please visit <a href='https://opencollective.com/materialdesigninxaml'>open collective</a>

This project exists thanks to all the people who contribute.

<a href="https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=MaterialDesignInXAML/MaterialDesignInXamlToolkit" />
</a>

## Mentions

- **[James Willock](https://github.com/ButchersBoy)
[![Twitter](https://img.shields.io/badge/twitter-%40james__willock-55acee.svg?style=flat-square)](https://twitter.com/James_Willock)** - Founder of the project
- **[Kevin Bost](https://github.com/Keboo)
[![Twitter](https://img.shields.io/badge/twitter-%40kitokeboo-55acee.svg?style=flat-square)](https://twitter.com/kitokeboo)** - Maintainer of the repository
- [Snalty](https://github.com/snalty)
[![Twitter](https://img.shields.io/badge/twitter-%40snalty-55acee.svg?style=flat-square)](https://twitter.com/snalty) - Designer of the logo
- Icon pack sourced from [Material Design Icons](https://materialdesignicons.com/)
- [ControlzEx](https://github.com/ControlzEx/ControlzEx) - Library used in MaterialDesignInXAML
- [Ignace Maes](https://github.com/IgnaceMaes) - Whose [Material Skin](https://github.com/IgnaceMaes/MaterialSkin) project inspired the original material design theme for [Dragablz](https://github.com/ButchersBoy/Dragablz), which in turn led James Willock start this project
- [Material Design Extensions](https://github.com/spiegelp/MaterialDesignExtensions) - A community repository based on this library that provides additional controls and features.
- **[Contributors](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/graphs/contributors)** - A big thank you to all the contributors of the project!

## Backers

Thank you to all our backers! 🙏 [Become a backer.](https://opencollective.com/materialdesigninxaml#backer)

<a href="https://opencollective.com/materialdesigninxaml#backers" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/backers.svg?width=890"></a>

## Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor.](https://opencollective.com/materialdesigninxaml#sponsor)

<a href="https://opencollective.com/materialdesigninxaml/sponsor/0/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/0/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/1/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/1/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/2/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/2/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/3/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/3/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/4/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/4/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/5/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/5/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/6/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/6/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/7/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/7/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/8/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/8/avatar.svg"></a>
<a href="https://opencollective.com/materialdesigninxaml/sponsor/9/website" target="_blank"><img src="https://opencollective.com/materialdesigninxaml/sponsor/9/avatar.svg"></a>

[discord-server-url]: https://discord.keboo.dev


================================================
FILE: Settings.XamlStyler
================================================
{
    "IndentSize": 2,
    "AttributesTolerance": 2,
    "KeepFirstAttributeOnSameLine": true,
    "MaxAttributeCharactersPerLine": 0,
    "MaxAttributesPerLine": 1,
    "NewlineExemptionElements": "RadialGradientBrush, GradientStop, LinearGradientBrush, ScaleTransform, SkewTransform, RotateTransform, TranslateTransform, Trigger, MultiTrigger, DataTrigger, MultiDataTrigger, Condition, Setter, SolidColorBrush, Pen",
    "SeparateByGroups": false,
    "AttributeIndentation": 0,
    "AttributeIndentationStyle": "Spaces",
    "RemoveDesignTimeReferences": false,
    "EnableAttributeReordering": true,
    "AttributeOrderingRuleGroups": [
        "x:Class",
        "xmlns, xmlns:x",
        "xmlns:*",
        "x:Key, Key, x:Name, Name, x:Uid, Uid, Title",
        "Grid.Row, Grid.RowSpan, Grid.Column, Grid.ColumnSpan, Canvas.Left, Canvas.Top, Canvas.Right, Canvas.Bottom",
        "Width, Height, MinWidth, MinHeight, MaxWidth, MaxHeight",
        "Margin, Padding, HorizontalAlignment, VerticalAlignment, HorizontalContentAlignment, VerticalContentAlignment, Panel.ZIndex",
        "*:*, *",
        "PageSource, PageIndex, Offset, Color, TargetName, Property, Value, StartPoint, EndPoint",
        "*:Freeze, mc:Ignorable, d:IsDataSource, d:LayoutOverrides, d:IsStaticText",
        "Storyboard.*, From, To, Duration",
        "TargetType",
        "BasedOn"
    ],
    "FirstLineAttributes": "",
    "OrderAttributesByName": true,
    "PutEndingBracketOnNewLine": false,
    "RemoveEndingTagOfEmptyElement": true,
    "SpaceBeforeClosingSlash": true,
    "RootElementLineBreakRule": "Always",
    "ReorderVSM": "First",
    "ReorderGridChildren": false,
    "ReorderCanvasChildren": false,
    "ReorderSetters": "TargetNameThenProperty",
    "FormatMarkupExtension": true,
    "NoNewLineMarkupExtensions": "x:Bind, Binding, TemplateBinding, x:Static, DynamicResource, ComponentResourceKey, iconPacks:Modern, iconPacks:Material",
    "ThicknessSeparator": "Comma",
    "ThicknessAttributes": "Margin, Padding, BorderThickness, ThumbnailClipMargin",
    "FormatOnSave": false,
    "CommentPadding": 1
}


================================================
FILE: build/ApplyXamlStyler.ps1
================================================
# Reset to repo root
Push-Location $(Join-Path $PSScriptRoot "..")

# Restore local tool
dotnet tool restore

#Run XAML Styler
xstyler --directory . --config .\Settings.XamlStyler --recursive

# Reset location
Pop-Location

================================================
FILE: build/BuildNugets.ps1
================================================
param(
  [string]$MDIXVersion = "1.0.0",
  [string]$MDIXColorsVersion = "1.0.0",
  [string]$MDIXMahAppsVersion = "1.0.0"
)

$year = [System.DateTime]::Now.ToString("yyyy")
$copyright = "Copyright $year James Willock/Mulholland Software Ltd"
$configuration = "Release"

function New-DotNetPackage {
  param (
    [string]$ProjectPath,
    [string]$Version
  )

  $ProjectPath = Resolve-Path $ProjectPath
  Write-Host "Packing $ProjectPath with version $Version"
  dotnet pack "$ProjectPath" -c $configuration -p:PackageVersion="$Version" -p:Copyright="$copyright" --no-build -o "."
}

Push-Location "$(Join-Path $PSScriptRoot "..")"

# Pack the projects
New-DotNetPackage .\src\MaterialDesignColors.Wpf\MaterialDesignColors.Wpf.csproj $MDIXColorsVersion
New-DotNetPackage .\src\MaterialDesignThemes.Wpf\MaterialDesignThemes.Wpf.csproj $MDIXVersion
New-DotNetPackage .\src\MaterialDesignThemes.MahApps\MaterialDesignThemes.MahApps.csproj $MDIXMahAppsVersion

Pop-Location


================================================
FILE: build/GenerateThemesWikiMarkdown.ps1
================================================
$defaultStyleText = "(default style)"
$headerMarkdown = "##"
$listMarkdown = "-"
$themesDirectory = "..\src\MaterialDesignThemes.Wpf\Themes\"
$latestHash = git log -1 --pretty=format:"%H"
$baseURL = "https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/blob"
$filePathURL = "src/MaterialDesignThemes.Wpf/Themes"
$outputFileName = "ControlStyleList.md"
$themesFullDir = Join-Path $PSScriptRoot $themesDirectory 
$outputFullDir = Join-Path $PSScriptRoot $outputFileName
$DebugPreference = 'Continue' # Log debug messages to terminal.

$discoverdStyles = New-Object System.Collections.ArrayList
$defaults = New-Object System.Collections.ArrayList

Function Main {
    # Get xaml files and loop through.
    Get-ChildItem $themesFullDir -Filter *.xaml | 
        Foreach-Object {
            $xamlLines = Get-Content -Path $_.FullName
            $file = Select-ControlNameFromFile($_.Name)
            Read-XamlStyles -xamlLines $xamlLines -file $file
        }
    Set-Defaults
    Format-Output
}

Function Format-Output {
    Write-OutputFile "[//]: <> (AUTO GENERATED FILE; DO NOT EDIT)"
    foreach($style in $discoverdStyles | Sort-Object -Property File,@{Expression = {$_.IsDefault}; Ascending = $false}) {
        if ($previousFile -ne $style.File) {
            Write-OutputFile "`n$headerMarkdown $($style.File)"
        }
        $previousFile = $style.File;
        
        $styleLink = "$($baseURL)/$($latestHash)/$($filePathURL)/MaterialDesignTheme.$($style.File).xaml"
        if ($style.LineNumber) {
            $styleLink += "#L$($style.LineNumber)"
        }
        
        $linkAndStyleName = "[$($style.Style)]($styleLink)";
        if ($style.IsDefault) {
            Write-OutputFile ("$listMarkdown $($linkAndStyleName) $defaultStyleText" -replace '\s+', ' ')
        }
        else {
            Write-OutputFile "$listMarkdown $($linkAndStyleName)"
        }
    }
}

Function Write-OutputFile{
    Param ($output)
    Add-content $outputFullDir -value $output
    Write-Debug $output #debug
}

Function Set-Defaults{
    ForEach ($default in $defaults) {
        $style = $discoverdStyles.Where({$_.style -match $default.style -and $_.Control -match $default.Type})
        if ($null -ne $style[0]) {
            $style[0].IsDefault = $true
        }
        else {            
            $temp = Get-Style -targetType $default.Type -styleName $default.Style -fileName $default.Type
            $discoverdStyles.Add($temp) | Out-Null
        }
    }
    $discoverdStyles | Format-Table #debug
}

Function Select-ControlNameFromFile {
    Param ($fileName)
    return $fileName -replace ".xaml" -replace "MaterialDesignTheme."
}

Function Read-XamlStyles {
    Param ($xamlLines, $file)
    [xml]$xaml = $xamlLines
    $lineNum = 1
    $xaml.ResourceDictionary.Style | 
    Foreach-Object {
        Write-Output $_
        # Get line number by Key or TargetType
        $styleLineNumber = $null
        $searchKey = if ($_.Key) { $_.Key } else { $_.TargetType }
        
        for ($i = 0; $i -lt $xamlLines.Length; $i++) {
            if ($xamlLines[$i] -match [regex]::Escape($searchKey)) {
                $styleLineNumber = $i + 1
                break
            }
        }
        
        if ($file -eq "Defaults") {
            New-Default -style $_ -file $file -lineNumber $styleLineNumber
        }
        elseif ($file -eq "Generic") {
            New-GenericDefault -style $_ -file $file -lineNumber $styleLineNumber
        }
        else {
            New-Style -style $_ -file $file -lineNumber $styleLineNumber
        }
        $lineNum++
    }
}

Function New-GenericDefault {
    Param ($style, $file, $lineNumber)
    $targetType = Read-TargetType($style | Select-Object TargetType)
    $basedOn = Read-BasedOn($style | Select-Object BasedOn)
    $styleNameValue = ($style | Select-Object Key).Key
    $defaultStyleName = if ($null -eq $styleNameValue) { $basedOn } else { $styleNameValue }
    Write-Debug "[$file] [Type: $targetType] [StyleNameValue: $styleNameValue] [BasedOn: $basedOn] [DefaultStyleName: $defaultStyleName]"
    Add-DefaultStyle -file $file -targetType $targetType -styleName $defaultStyleName -lineNumber $lineNumber
}

Function New-Default {
    Param ($style, $file, $lineNumber)
    $targetType = Read-TargetType($style | Select-Object TargetType)
    $basedOn = Read-BasedOn($style | Select-Object BasedOn)
    $styleNameValue = ($style | Select-Object Key).Key
    $defaultStyleName = if ($null -eq $styleNameValue) { $basedOn } else { $styleNameValue }
    Write-Debug "[$file] [Type: $targetType] [StyleNameValue: $styleNameValue] [BasedOn: $basedOn] [DefaultStyleName: $defaultStyleName]"
    Add-DefaultStyle -file $file -targetType $targetType -styleName $defaultStyleName -lineNumber $lineNumber
}

Function New-Style {
    Param ($style, $file, $lineNumber)
    $targetType = Read-TargetType($style | Select-Object TargetType)
    $styleName = ($style | Select-Object Key).Key
    $splittedFile =  $file.split('.') # Support for "nested" file names like DataGrid.ComboBox

    if ($targetType -eq $splittedFile[-1]) {
        Write-Debug "[Match  ] [File: $file] [Type: $targetType] [Style: $styleName]"
        Add-Style -targetType $targetType -styleName $styleName -fileName $file -lineNumber $lineNumber
    }
    else {
        Write-Debug "[Skipped] [File: $file] [Type: $targetType] [Style: $styleName]"
    }
}

Function Add-Style {
    Param ($targetType, $styleName, $fileName, $lineNumber)
    $temp = Get-Style -targetType $targetType -styleName $styleName -fileName $file -lineNumber $lineNumber
    $discoverdStyles.Add($temp) | Out-Null
}

Function Get-Style {
    Param ($targetType, $styleName, $fileName, $lineNumber)
    $temp = "" | Select-Object "Control", "Style", "IsDefault", "File", "LineNumber"
    $temp.Control = $targetType
    $temp.Style = $styleName
    $temp.IsDefault = !$styleName
    $temp.File = $fileName
    $temp.LineNumber = $lineNumber
    return $temp
}

Function Add-DefaultStyle {
    Param ($file, $targetType, $styleName, $lineNumber)
    $temp = "" | Select-Object "File", "Type", "Style", "LineNumber"
    $temp.File = $file
    $temp.Type = $targetType
    $temp.Style = $styleName
    $temp.LineNumber = $lineNumber
    $defaults.Add($temp) | Out-Null
}

Function Read-TargetType {
    Param ($targetTypeText)
    return ($targetTypeText.TargetType -replace "{x:Type" -replace "{x:Type" -replace ".*:" -replace "}*" -replace "Base").Trim()
}

Function Read-BasedOn {
    Param ($targetTypeText)
    return ($targetTypeText.BasedOn -replace "{StaticResource" -replace ".*:" -replace "}*").Trim()
}

Main


================================================
FILE: build/MigrateBrushes.ps1
================================================
param(
    [System.IO.DirectoryInfo]$RootDirectory
)

#NB: This script requires PowerShell 7.1 or later

$files = Get-ChildItem -Recurse -Path $RootDirectory -Include "*.xaml"
foreach ($file in $files) {
    $fileContents = Get-Content $file -Encoding utf8BOM -Raw
    $fileLength = $fileContents.Length
    $fileContents = $fileContents -replace "\{StaticResource\ PrimaryHueLightBrush}", "{StaticResource MaterialDesign.Brush.Primary.Light}"
    $fileContents = $fileContents -replace "\{StaticResource\ PrimaryHueLightForegroundBrush}", "{StaticResource MaterialDesign.Brush.Primary.Light.Foreground}"
    $fileContents = $fileContents -replace "\{StaticResource\ PrimaryHueMidBrush}", "{StaticResource MaterialDesign.Brush.Primary}"
    $fileContents = $fileContents -replace "\{StaticResource\ PrimaryHueMidForegroundBrush}", "{StaticResource MaterialDesign.Brush.Primary.Foreground}"
    $fileContents = $fileContents -replace "\{StaticResource\ PrimaryHueDarkBrush}", "{StaticResource MaterialDesign.Brush.Primary.Dark}"
    $fileContents = $fileContents -replace "\{StaticResource\ PrimaryHueDarkForegroundBrush}", "{StaticResource MaterialDesign.Brush.Primary.Dark.Foreground}"
    $fileContents = $fileContents -replace "\{StaticResource\ SecondaryHueLightBrush}", "{StaticResource MaterialDesign.Brush.Secondary.Light}"
    $fileContents = $fileContents -replace "\{StaticResource\ SecondaryHueLightForegroundBrush}", "{StaticResource MaterialDesign.Brush.Secondary.Light.Foreground}"
    $fileContents = $fileContents -replace "\{StaticResource\ SecondaryHueMidBrush}", "{StaticResource MaterialDesign.Brush.Secondary}"
    $fileContents = $fileContents -replace "\{StaticResource\ SecondaryHueMidForegroundBrush}", "{StaticResource MaterialDesign.Brush.Secondary.Foreground}"
    $fileContents = $fileContents -replace "\{StaticResource\ SecondaryHueDarkBrush}", "{StaticResource MaterialDesign.Brush.Secondary.Dark}"
    $fileContents = $fileContents -replace "\{StaticResource\ SecondaryHueDarkForegroundBrush}", "{StaticResource MaterialDesign.Brush.Secondary.Dark.Foreground}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignPaper}", "{StaticResource MaterialDesign.Brush.Background}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignFlatButtonClick}", "{StaticResource MaterialDesign.Brush.Button.FlatClick}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignFlatButtonRipple}", "{StaticResource MaterialDesign.Brush.Button.Ripple}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignSnackbarRipple}", "{StaticResource MaterialDesign.Brush.Button.Ripple}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignBackground}", "{StaticResource MaterialDesign.Brush.Card.Background}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignCardBackground}", "{StaticResource MaterialDesign.Brush.Card.Background}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignCheckBoxDisabled}", "{StaticResource MaterialDesign.Brush.CheckBox.Disabled}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignChipBackground}", "{StaticResource MaterialDesign.Brush.Chip.Background}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignDataGridRowHoverBackground}", "{StaticResource MaterialDesign.Brush.DataGrid.RowHoverBackground}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignBody}", "{StaticResource MaterialDesign.Brush.Foreground}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignBodyLight}", "{StaticResource MaterialDesign.Brush.ForegroundLight}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignCheckBoxOff}", "{StaticResource MaterialDesign.Brush.ForegroundLight}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignTextBoxBorder}", "{StaticResource MaterialDesign.Brush.ForegroundLight}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignColumnHeader}", "{StaticResource MaterialDesign.Brush.Header.Foreground}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignTextAreaBorder}", "{StaticResource MaterialDesign.Brush.Header.Foreground}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignSnackbarBackground}", "{StaticResource MaterialDesign.Brush.SnackBar.Background}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignSnackbarMouseOver}", "{StaticResource MaterialDesign.Brush.SnackBar.MouseOver}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignTextFieldBoxDisabledBackground}", "{StaticResource MaterialDesign.Brush.TextBox.DisabledBackground}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignTextFieldBoxBackground}", "{StaticResource MaterialDesign.Brush.TextBox.FilledBackground}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignTextFieldBoxHoverBackground}", "{StaticResource MaterialDesign.Brush.TextBox.HoverBackground}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignDivider}", "{StaticResource MaterialDesign.Brush.TextBox.HoverBackground}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignTextAreaInactiveBorder}", "{StaticResource MaterialDesign.Brush.TextBox.OutlineInactiveBorder}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignToolBarBackground}", "{StaticResource MaterialDesign.Brush.ToolBar.Background}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignToolBackground}", "{StaticResource MaterialDesign.Brush.ToolBar.Item.Background}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignToolForeground}", "{StaticResource MaterialDesign.Brush.ToolBar.Item.Foreground}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignToolTipBackground}", "{StaticResource MaterialDesign.Brush.ToolTip.Background}"
    $fileContents = $fileContents -replace "\{StaticResource\ MaterialDesignValidationErrorBrush}", "{StaticResource MaterialDesign.Brush.ValidationError}"
    if ($fileContents.Length -ne $fileLength) {
        Set-Content -Path $file -Value $fileContents -Encoding utf8BOM -NoNewline
    }
}



================================================
FILE: build/MigrateStyles.ps1
================================================
param(
    [System.IO.DirectoryInfo]$RootDirectory
)

#NB: This script requires PowerShell 7.1 or later

$files = Get-ChildItem -Recurse -Path $RootDirectory -File -Filter "*.xaml"
$resourceTypes = ('StaticResource', 'DynamicResource')

foreach ($file in $files) {
    $fileContents = Get-Content $file -Encoding utf8BOM -Raw
    $fileLength = $fileContents.Length

    foreach($resourceType in $resourceTypes) {
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignActionAccentCheckBox}", "{$resourceType MaterialDesignActionSecondaryCheckBox}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignAccentCheckBox}", "{$resourceType MaterialDesignSecondaryCheckBox}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignAccentRadioButton}", "{$resourceType MaterialDesignSecondaryRadioButton}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignActionAccentToggleButton}", "{$resourceType MaterialDesignActionSecondaryToggleButton}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignChoiceChipAccentListBox}", "{$resourceType MaterialDesignChoiceChipSecondaryListBox}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignChoiceChipAccentListBoxItem}", "{$resourceType MaterialDesignChoiceChipSecondaryListBoxItem}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignChoiceChipAccentOutlineListBox}", "{$resourceType MaterialDesignChoiceChipSecondaryOutlineListBox}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignChoiceChipAccentOutlineListBoxItem}", "{$resourceType MaterialDesignChoiceChipSecondaryOutlineListBoxItem}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignChoiceChipAccentOutlineRadioButton}", "{$resourceType MaterialDesignChoiceChipSecondaryOutlineRadioButton}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignChoiceChipAccentRadioButton}", "{$resourceType MaterialDesignChoiceChipSecondaryRadioButton}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignFilterChipAccentCheckBox}", "{$resourceType MaterialDesignFilterChipSecondaryCheckBox}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignFilterChipAccentListBoxItem}", "{$resourceType MaterialDesignFilterChipSecondaryListBoxItem}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignFilterChipAccentListBox}", "{$resourceType MaterialDesignFilterChipSecondaryListBox}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignFilterChipAccentOutlineCheckBox}", "{$resourceType MaterialDesignFilterChipSecondaryOutlineCheckBox}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignFilterChipAccentOutlineListBox}", "{$resourceType MaterialDesignFilterChipSecondaryOutlineListBox}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignFilterChipAccentOutlineListBoxItem}", "{$resourceType MaterialDesignFilterChipSecondaryOutlineListBoxItem}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignFlatAccentButton}", "{$resourceType MaterialDesignFlatSecondaryMidBgButton}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignFlatAccentBgButton}", "{$resourceType MaterialDesignFlatSecondaryBgButton}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignFloatingActionMiniAccentButton}", "{$resourceType MaterialDesignFloatingActionMiniSecondaryButton}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignFloatingActionAccentButton}", "{$resourceType MaterialDesignFloatingActionSecondaryButton}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignMultiFloatingActionAccentPopupBox}", "{$resourceType MaterialDesignMultiFloatingActionSecondaryPopupBox}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignNavigationAccentListBoxItem}", "{$resourceType MaterialDesignNavigationSecondaryListBoxItem}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignNavigationAccentListBox}", "{$resourceType MaterialDesignNavigationSecondaryListBox}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignRaisedAccentButton}", "{$resourceType MaterialDesignRaisedSecondaryButton}"
        $fileContents = $fileContents -replace "\{$resourceType\ MaterialDesignSwitchAccentToggleButton}", "{$resourceType MaterialDesignSwitchSecondaryToggleButton}"
    }

    if ($fileContents.Length -ne $fileLength) {
        Set-Content -Path $file -Value $fileContents -Encoding utf8BOM -NoNewline
    }
}



================================================
FILE: build/UpdateNugets.ps1
================================================
param(
  [string]$Path,
  [string]$MDIXVersion = "1.0.0",
  [string]$MDIXColorsVersion = "1.0.0",
  [string]$MDIXMahAppsVersion = "1.0.0"
)

function Get-VersionString {
  param (
    [string]$Version
  )

  $incrementCallback = {
    [int]$args[0].Groups[1].Value + 1
  }
  $releaseVersionCallback = {
      "$($args[0].Groups[1].Value).$($args[0].Groups[2].Value)"
  }

  $re = [regex]"^(\d+)\.(\d+\.\d+).*"
  $releaseVersion = $re.Replace($Version, $releaseVersionCallback)
  $nextVersion = $re.Replace($Version, $incrementCallback)
  return "[$releaseVersion,$nextVersion)"
}

Push-Location "$(Join-Path $PSScriptRoot "..")"

$Path = Resolve-Path $Path

nupkgwrench nuspec dependencies modify "$Path" --dependency-id "MaterialDesignThemes" --dependency-version "$(Get-VersionString $MDIXVersion)"
nupkgwrench nuspec dependencies modify "$Path" --dependency-id "MaterialDesignColors" --dependency-version "$(Get-VersionString $MDIXColorsVersion)"
nupkgwrench nuspec dependencies modify "$Path" --dependency-id "MaterialDesignThemes.MahApps" --dependency-version "$(Get-VersionString $MDIXMahAppsVersion)"

Pop-Location

================================================
FILE: docs/Freezable_Object_for_Enhanced_Performance.md
================================================
[Home](..\README.md) > Using `Freezable` Objects for Enhanced Performance

---

# Using `Freezable` Objects for Enhanced Performance

## Background information

WPF provides the `Freezable` class for objects that can be made immutable to optimize performance, such as brushes, pens, and transforms.

## Setting Objects as `Freezable`

When an object is frozen, it becomes immutable, which reduces memory usage and allows WPF to optimize rendering.

```csharp
SolidColorBrush myBrush = new SolidColorBrush(Colors.Blue);
if (myBrush.CanFreeze)
{
    myBrush.Freeze();
}
```

Frozen objects cannot be modified, so only freeze objects that don’t require changes.

## Benefits of Freezable Objects

Freezable objects improve rendering speed, especially for large visuals or repeated animations. This technique is particularly useful in complex UIs with many reused resources.


================================================
FILE: docs/Optimize_UI_Thread_Performance.md
================================================
[Home](..\README.md) > How to Optimize UI Thread Performance?

---

# How to Optimize UI Thread Performance?

## Background information

The UI thread in WPF is responsible for rendering controls and handling user interactions. Heavy computations or complex bindings on the UI thread can lead to sluggish performance and poor user experience.

## Using `Dispatcher.BeginInvoke`

For non-UI-intensive tasks that still need to interact with the UI, use `Dispatcher.BeginInvoke` to move tasks off the UI thread without blocking it:

```csharp
// Execute this in the background without freezing the UI
Dispatcher.BeginInvoke((Action)(() =>
{
    // Update UI elements here
}));
```

## Avoiding Complex Bindings

Complex bindings, especially with large data sets, can slow down the UI. Consider simplifying bindings, reducing converters, or using `INotifyPropertyChanged` with view models to optimize data flow.

```xaml
<!-- Avoid multi-level bindings when possible -->
<TextBlock Text="{Binding User.Name}" />
```

> [!NOTE]
> Always test performance impacts when using nested or complex bindings.

## Use `VirtualizingStackPanel` for Large Lists

For large collections, use `VirtualizingStackPanel` to only create visuals for items in view:

```xaml
<ListBox VirtualizingStackPanel.IsVirtualizing="True" />
```

This reduces memory usage and improves scrolling performance in lists.




================================================
FILE: docs/Optimizing-WPF-Rendering-Performance.md
================================================
[Home](..\README.md) > Optimizing WPF UI Animation and Rendering Performance

---

# Optimizing WPF UI Animation and Rendering Performance

## Background Information

WPF applications often have complex animations and UI interactions, which can lead to performance bottlenecks if not optimized. Understanding the techniques for efficient rendering and leveraging WPF's internal capabilities can significantly enhance the user experience by making the interface smoother and more responsive.

## Reducing Visual Complexity

One effective approach to improving rendering performance is reducing visual complexity. This involves:

- **Minimizing Visual Layers**: Each layer that a control or element has can add rendering overhead. Consider consolidating overlapping elements.
- **Avoiding Overdraw**: Redundant drawing layers, where multiple visual elements overlap, increase rendering work for the GPU. Arrange visuals to reduce the overdraw effect.
- **Limiting the Use of Effects**: Avoid heavy effects such as `DropShadowEffect` or `BlurEffect` where possible, as these can slow down rendering.

## Using the `RenderOptions` Property

The `RenderOptions` class in WPF provides properties for fine-tuning rendering options. The `BitmapScalingMode` property, for instance, helps adjust the scaling performance of images.

```xaml
<Image Source="sample.png" RenderOptions.BitmapScalingMode="LowQuality" />
```

Setting `BitmapScalingMode` to `LowQuality` helps improve performance when scaling images, especially useful for animations.

> [!TIP]
> Use `HighQuality` scaling mode sparingly, as it increases GPU workload.

## Implementing Virtualization

For controls that display large data sets, such as `ListView` or `DataGrid`, enable virtualization to improve scrolling performance:

```xaml
<ListView VirtualizingStackPanel.IsVirtualizing="True" 
          VirtualizingStackPanel.VirtualizationMode="Recycling" />
```

Virtualization helps reduce memory usage by creating only the items currently in view, thus speeding up scrolling and rendering.

## Optimize Animation with CompositionTarget

For custom animations, consider leveraging `CompositionTarget.Rendering`, which allows you to hook into the render loop directly:

```csharp
CompositionTarget.Rendering += (s, e) =>
{
    // Custom animation logic
};
```

This method provides more control over frame-by-frame updates, but should be used cautiously as it can impact performance if not handled efficiently.

## Example Comparison

| Method                             | Performance Impact                                                                                   |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------- |
| Reducing Visual Layers             | Lowers CPU and GPU workload by limiting the number of visual elements rendered                       |
| Using `RenderOptions.BitmapScalingMode` | Improves image scaling performance, particularly during animation                                  |
| Enabling Virtualization            | Optimizes scrolling in large data sets, leading to faster rendering times                           |
| `CompositionTarget` for Animations | Provides smoother animations at the expense of higher complexity; best suited for high-priority elements |

## Further Reading

Additional resources for improving WPF performance:
- [Optimizing WPF Application Performance](https://learn.microsoft.com/dotnet/desktop/wpf/advanced/optimizing-wpf-application-performance?view=netdesktop-7.0)
- [Rendering Performance Best Practices](https://learn.microsoft.com/dotnet/desktop/wpf/graphics-multimedia/rendering-performance-best-practices?view=netdesktop-7.0)



================================================
FILE: docs/Reducing_Layout_Complexity.md
================================================
# Reducing Layout Complexity

## Background information

Complex layouts can slow down WPF performance, especially with nested controls or excessive use of `Grid` and `StackPanel`.

## Avoid Nested Grids and StackPanels

Overuse of nested layouts can create rendering bottlenecks. Try to simplify the structure or use a `UniformGrid` or `DockPanel` for simpler arrangements.

```xaml
<!-- Instead of nesting multiple StackPanels, use a single DockPanel -->
<DockPanel>
    <TextBlock Text="Header" DockPanel.Dock="Top" />
    <ListView DockPanel.Dock="Bottom" />
</DockPanel>
```

## Prefer Static Resources Over Dynamic Resources

Static resources are faster to load compared to dynamic ones. Use dynamic resources only if you need runtime changes in resource values.

```xaml
<!-- Use StaticResource instead of DynamicResource for better performance -->
<Style x:Key="ButtonStyle" TargetType="Button" BasedOn="{StaticResource BaseButtonStyle}" />
```

> [!NOTE]
> Dynamic resources are reevaluated each time they’re used, which may impact performance.


================================================
FILE: docs/rendering-performance.md
================================================
[Home](..\README.md) > How to increase rendering performance?

---

# How to increase rendering performance?

## Background information

Every class inheriting from [`UIElement`](https://learn.microsoft.com/dotnet/api/system.windows.uielement?view=windowsdesktop-8.0) 
contains a property [`CacheMode`](https://learn.microsoft.com/dotnet/api/system.windows.uielement.cachemode?view=windowsdesktop-8.0). To quote Microsoft's documentation:

> Set the CacheMode property when you need to increase performance for content that is time consuming to render. For 
> more information, see [BitmapCache](https://learn.microsoft.com/dotnet/api/system.windows.media.bitmapcache?view=windowsdesktop-8.0).

The default value is `null` as to not use any form of caching. This makes the controls sharp and crisp.

## Setting `UIElement.CacheMode`

An example how to set a `CacheMode`:

```xaml
<!-- This should decrease rendering time -->

<ToggleButton>
    <ToggleButton.CacheMode>
        <BitmapCache 
            EnableClearType="True"
            RenderAtScale="1"
            SnapsToDevicePixels="True" />
    </ToggleButton.CacheMode>
</ToggleButton>
```

Increase the `RenderAtScale` value, will sharpen the control, but it will also make it more pixelized when drawn smaller.

> [!NOTE]
> The default value of `UIElement.CacheMode` is `null`.

## Advanced: setting `ShadowAssist.CacheMode`

Material Design in XAML toolkit also provides you with an attached property `ShadowAssist.CacheMode`. 
This attached property is used in places where a simple `CacheMode` property would not suffice. This could be in situations 
where the property should be inherited, as `UIElement.CacheMode` does not support property inheritance.

This attached property is set through binding on a `CacheMode` property under the parent control.

An example of this property being used:
```xaml
<!-- Found inside MaterialDesignTheme.ToggleButton.xaml -->

<AdornerDecorator CacheMode="{Binding RelativeSource={RelativeSource Self}, Path=(wpf:ShadowAssist.CacheMode)}">
    <Ellipse x:Name="Thumb" ... />
</AdornerDecorator>
```

> [!NOTE]
> The default value of `ShadowAssist.CacheMode` is `null`.

## Example

| With `CacheMode` set                                                                                                              | Without `CacheMode` set                                                                                                           |
| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| ![image](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/assets/6505319/9401be9c-9939-4c02-b37e-610707ea9e5c) | ![image](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/assets/6505319/928e6f70-60a2-4e0a-b8e5-f1955d3cc6f4) |

## Further reading

Some interesting articles with more in-depth information:
* [Property value inheritance (WPF .NET)](https://learn.microsoft.com/dotnet/desktop/wpf/properties/property-value-inheritance?view=netdesktop-7.0)
* [UIElement.CacheMode Property](https://learn.microsoft.com/dotnet/api/system.windows.uielement.cachemode?view=windowsdesktop-8.0)

================================================
FILE: global.json
================================================
{
  "sdk": {
    "version": "10.0.102",
    "rollForward": "latestMinor"
  }
}


================================================
FILE: nuget.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <!--To inherit the global NuGet package sources remove the <clear/> line below -->
        <clear />
        <add key="nuget" value="https://api.nuget.org/v3/index.json" />
    </packageSources>
    <packageSourceMapping>
        <!-- key value for <packageSource> should match key values from <packageSources> element -->
        <packageSource key="nuget">
            <package pattern="*" />
        </packageSource>
    </packageSourceMapping>
</configuration>


================================================
FILE: src/MahMaterialDragablzMashUp/AnotherCommandImplementation.cs
================================================
namespace MahMaterialDragablzMashUp;

/// <summary>
/// No WPF project is complete without it's own version of this.
/// </summary>
public class AnotherCommandImplementation : ICommand
{
    private readonly Action<object?> _execute;
    private readonly Func<object?, bool> _canExecute;

    public AnotherCommandImplementation(Action<object?> execute)
        : this(execute, null)
    {
    }

    public AnotherCommandImplementation(Action<object?> execute, Func<object?, bool>? canExecute)
    {
        if (execute is null) throw new ArgumentNullException(nameof(execute));

        _execute = execute;
        _canExecute = canExecute ?? (x => true);
    }

    public bool CanExecute(object? parameter) => _canExecute(parameter);

    public void Execute(object? parameter) => _execute(parameter);

    public event EventHandler? CanExecuteChanged
    {
        add
        {
            CommandManager.RequerySuggested += value;
        }
        remove
        {
            CommandManager.RequerySuggested -= value;
        }
    }

    public void Refresh() => CommandManager.InvalidateRequerySuggested();
}


================================================
FILE: src/MahMaterialDragablzMashUp/App.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
</configuration>


================================================
FILE: src/MahMaterialDragablzMashUp/App.xaml
================================================
<Application x:Class="MahMaterialDragablzMashUp.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:avalonEdit="http://icsharpcode.net/sharpdevelop/avalonedit"
             xmlns:dragablz="clr-namespace:Dragablz;assembly=Dragablz"
             xmlns:mahDemo="clr-namespace:MahAppsDragablzDemo"
             xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
             xmlns:smtx="clr-namespace:ShowMeTheXAML;assembly=ShowMeTheXAML"
             xmlns:smtxAe="clr-namespace:ShowMeTheXAML.AvalonEdit;assembly=ShowMeTheXAML.AvalonEdit"
             xmlns:system="clr-namespace:System;assembly=mscorlib"
             StartupUri="MainWindow.xaml">
  <Application.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <materialDesign:MahAppsBundledTheme BaseTheme="Inherit"
                                            PrimaryColor="DeepPurple"
                                            SecondaryColor="Purple" />

        <!-- MahApps -->
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />

        <!-- Material Design -->
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesign2.Defaults.xaml" />

        <!-- Material Design: MahApps Compatibility -->
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.MahApps;component/Themes/MaterialDesignTheme.MahApps.Defaults.xaml" />

        <!-- Dragablz Material Design -->
        <ResourceDictionary Source="pack://application:,,,/Dragablz;component/Themes/materialdesign.xaml" />

        <!-- ShowMeTheXaml -->
        <ResourceDictionary Source="pack://application:,,,/ShowMeTheXAML.AvalonEdit;component/Themes/xamldisplayer.xaml" />

      </ResourceDictionary.MergedDictionaries>

      <!-- Dragablz Material Design -->
      <Style TargetType="{x:Type dragablz:TabablzControl}" BasedOn="{StaticResource MaterialDesignTabablzControlStyle}" />

      <Style TargetType="smtx:XamlDisplay" BasedOn="{StaticResource {x:Type smtx:XamlDisplay}}">
        <Style.Resources>
          <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
              <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Button.xaml" />
              <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ToggleButton.xaml" />
            </ResourceDictionary.MergedDictionaries>

            <smtxAe:TextDocumentValueConverter x:Key="TextDocumentValueConverter" />
          </ResourceDictionary>
        </Style.Resources>
        <Setter Property="Formatter">
          <Setter.Value>
            <smtx:XamlFormatter Indent="  " NewLineOnAttributes="True">
              <smtx:XamlFormatter.NamespacesToRemove>
                <system:String>http://materialdesigninxaml.net/winfx/xaml/themes</system:String>
              </smtx:XamlFormatter.NamespacesToRemove>
            </smtx:XamlFormatter>
          </Setter.Value>
        </Setter>
        <Setter Property="HorizontalContentAlignment" Value="Right" />
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="smtx:XamlDisplay">
              <DockPanel>
                <materialDesign:PopupBox x:Name="PopupBox"
                                         Padding="10"
                                         HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                         VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                         DockPanel.Dock="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(mahDemo:XamlDisplayEx.ButtonDock)}"
                                         StaysOpen="True">
                  <materialDesign:PopupBox.ToggleContent>
                    <materialDesign:PackIcon Margin="3"
                                             Background="Transparent"
                                             Cursor="Hand"
                                             Foreground="{DynamicResource PrimaryHueDarkBrush}"
                                             Kind="Xaml"
                                             ToolTip="View XAML">
                      <materialDesign:PackIcon.Style>
                        <Style TargetType="materialDesign:PackIcon" BasedOn="{StaticResource {x:Type materialDesign:PackIcon}}">
                          <Setter Property="Opacity" Value="0.2" />
                          <Style.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                              <Setter Property="Opacity" Value="1" />
                            </Trigger>
                          </Style.Triggers>
                        </Style>
                      </materialDesign:PackIcon.Style>
                    </materialDesign:PackIcon>
                  </materialDesign:PopupBox.ToggleContent>
                  <Border MaxWidth="800" MaxHeight="600">
                    <DockPanel>
                      <Button Margin="0,10,0,0"
                              HorizontalAlignment="Right"
                              Command="Copy"
                              CommandParameter="{Binding Xaml, RelativeSource={RelativeSource TemplatedParent}}"
                              Content="_COPY"
                              DockPanel.Dock="Bottom"
                              Style="{StaticResource MaterialDesignRaisedButton}"
                              Tag="{Binding Xaml, RelativeSource={RelativeSource TemplatedParent}}" />
                      <avalonEdit:TextEditor Document="{Binding Xaml, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource TextDocumentValueConverter}}" Style="{StaticResource AvalonTextEditorXamlDisplay}" />
                    </DockPanel>
                  </Border>

                </materialDesign:PopupBox>
                <Grid>
                  <AdornerDecorator>
                    <Border Margin="-5"
                            BorderBrush="{DynamicResource SecondaryHueMidBrush}"
                            Opacity=".4">
                      <Border.Style>
                        <Style TargetType="Border">
                          <Setter Property="BorderThickness" Value="0" />
                          <Style.Triggers>
                            <DataTrigger Binding="{Binding ElementName=PopupBox, Path=IsPopupOpen}" Value="True">
                              <Setter Property="BorderThickness" Value="5" />
                            </DataTrigger>
                          </Style.Triggers>
                        </Style>
                      </Border.Style>
                    </Border>
                  </AdornerDecorator>
                  <ContentPresenter />
                </Grid>
              </DockPanel>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
        <Setter Property="VerticalContentAlignment" Value="Bottom" />
        <Setter Property="mahDemo:XamlDisplayEx.ButtonDock" Value="Right" />
      </Style>
    </ResourceDictionary>
  </Application.Resources>
</Application>


================================================
FILE: src/MahMaterialDragablzMashUp/App.xaml.cs
================================================
using System.Windows.Media;
using MaterialDesignThemes.Wpf;
using ShowMeTheXAML;

namespace MahMaterialDragablzMashUp;

/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        XamlDisplay.Init();
        base.OnStartup(e);

        //Add/Update brush used by Dragablz when the theme changes
        //Solution for https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/issues/2349
        PaletteHelper helper = new PaletteHelper();
        if (helper.GetThemeManager() is { } themeManager)
        {
            themeManager.ThemeChanged += ThemeManager_ThemeChanged;
        }
    }

    private void ThemeManager_ThemeChanged(object? sender, ThemeChangedEventArgs e)
    {
        //Dragablz is still using the old theme brush names so we forward those here
        Resources["SecondaryAccentBrush"] = new SolidColorBrush(e.NewTheme.SecondaryMid.Color);
        Resources[SystemColors.ControlTextBrushKey] = new SolidColorBrush(e.NewTheme.Foreground);
    }
}


================================================
FILE: src/MahMaterialDragablzMashUp/Dialogs.xaml
================================================
<UserControl x:Class="MahMaterialDragablzMashUp.Dialogs"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:dialogs="clr-namespace:MahApps.Metro.Controls.Dialogs;assembly=MahApps.Metro"
             xmlns:local="clr-namespace:MahMaterialDragablzMashUp"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             d:DataContext="{d:DesignInstance local:DialogsViewModel}"
             d:DesignHeight="300"
             d:DesignWidth="300"
             dialogs:DialogParticipation.Register="{Binding}"
             mc:Ignorable="d">
  <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
    <Button Command="{Binding ShowInputDialogCommand}">INPUT DIALOG</Button>
    <Button Margin="0,48,0,0" Command="{Binding ShowProgressDialogCommand}">PROGRESS DIALOG</Button>
    <Button Margin="0,48,0,0" Command="{Binding ShowLeftFlyoutCommand}">FLYOUT</Button>
  </StackPanel>
</UserControl>


================================================
FILE: src/MahMaterialDragablzMashUp/Dialogs.xaml.cs
================================================
namespace MahMaterialDragablzMashUp;

/// <summary>
/// Interaction logic for Dialogs.xaml
/// </summary>
public partial class Dialogs : UserControl
{
    public Dialogs()
    {
        InitializeComponent();
    }
}


================================================
FILE: src/MahMaterialDragablzMashUp/DialogsViewModel.cs
================================================
using MahApps.Metro.Controls;
using MahApps.Metro.Controls.Dialogs;

namespace MahMaterialDragablzMashUp;

public class DialogsViewModel
{
    public ICommand ShowInputDialogCommand { get; }

    public ICommand ShowProgressDialogCommand { get; }

    public ICommand ShowLeftFlyoutCommand { get; }

    private ResourceDictionary DialogDictionary = new ResourceDictionary() { Source = new Uri("pack://application:,,,/MaterialDesignThemes.MahApps;component/Themes/MaterialDesignTheme.MahApps.Dialogs.xaml") };

    public DialogsViewModel()
    {
        ShowInputDialogCommand = new AnotherCommandImplementation(_ => InputDialog());
        ShowProgressDialogCommand = new AnotherCommandImplementation(_ => ProgressDialog());
        ShowLeftFlyoutCommand = new AnotherCommandImplementation(_ => ShowLeftFlyout());
    }

    public Flyout? LeftFlyout { get; set; }

    private void InputDialog()
    {
        var metroDialogSettings = new MetroDialogSettings
        {
            CustomResourceDictionary = DialogDictionary,
            NegativeButtonText = "CANCEL"
        };

        DialogCoordinator.Instance.ShowInputAsync(this, "MahApps Dialog", "Using Material Design Themes", metroDialogSettings);
    }

    private async void ProgressDialog()
    {
        var metroDialogSettings = new MetroDialogSettings
        {
            CustomResourceDictionary = DialogDictionary,
            NegativeButtonText = "CANCEL"
        };

        var controller = await DialogCoordinator.Instance.ShowProgressAsync(this, "MahApps Dialog", "Using Material Design Themes (WORK IN PROGRESS)", true, metroDialogSettings);
        controller.SetIndeterminate();
        await Task.Delay(3000);
        await controller.CloseAsync();
    }

    private void ShowLeftFlyout()
    {
        ((MainWindow)Application.Current.MainWindow).LeftFlyout.IsOpen = !((MainWindow)Application.Current.MainWindow).LeftFlyout.IsOpen;
    }
}


================================================
FILE: src/MahMaterialDragablzMashUp/FlyoutContent.xaml
================================================
<UserControl x:Class="MahMaterialDragablzMashUp.FlyoutContent"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:wpf="http://materialdesigninxaml.net/winfx/xaml/themes"
             d:DesignHeight="300"
             d:DesignWidth="300"
             mc:Ignorable="d">
  <UserControl.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.TextBox.xaml" />
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </UserControl.Resources>
  <StackPanel Margin="24">
    <TextBox MinWidth="120"
             wpf:HintAssist.Hint="Hint 1"
             FontSize="18"
             Style="{StaticResource MaterialDesignFloatingHintTextBox}" />
    <TextBox MinWidth="120"
             Margin="0,8,0,0"
             wpf:HintAssist.Hint="Hint 2"
             Style="{StaticResource MaterialDesignFloatingHintTextBox}" />
  </StackPanel>
</UserControl>


================================================
FILE: src/MahMaterialDragablzMashUp/FlyoutContent.xaml.cs
================================================
namespace MahMaterialDragablzMashUp;

/// <summary>
/// Interaction logic for FlyoutContent.xaml
/// </summary>
public partial class FlyoutContent : UserControl
{
    public FlyoutContent()
    {
        InitializeComponent();
    }
}


================================================
FILE: src/MahMaterialDragablzMashUp/Mah.xaml
================================================
<UserControl x:Class="MahMaterialDragablzMashUp.Mah"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:local="clr-namespace:MahAppsDragablzDemo"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:mdix="http://materialdesigninxaml.net/winfx/xaml/themes"
             xmlns:smtx="clr-namespace:ShowMeTheXAML;assembly=ShowMeTheXAML"
             xmlns:system="clr-namespace:System;assembly=mscorlib"
             d:DesignHeight="300"
             d:DesignWidth="300"
             mc:Ignorable="d">
  <UserControl.DataContext>
    <local:MahViewModel />
  </UserControl.DataContext>
  <UserControl.Resources>
    <ObjectDataProvider x:Key="EnumValues"
                        MethodName="GetValues"
                        ObjectType="{x:Type system:Enum}">
      <ObjectDataProvider.MethodParameters>
        <x:Type TypeName="local:EnumValues" />
      </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>
  </UserControl.Resources>
  <StackPanel>
    <TextBlock TextWrapping="Wrap">All controls using MahApps themes, will use Material Design pallete.</TextBlock>

    <controls:MetroAnimatedSingleRowTabControl Background="Transparent" TabStripPlacement="Left">
      <TabItem Header="ListBox">
        <smtx:XamlDisplay UniqueKey="ListBox_1">
          <ListBox Margin="0,8,0,0">
            <ListBoxItem IsSelected="True">MahApps</ListBoxItem>
            <ListBoxItem>Dragablz</ListBoxItem>
            <ListBoxItem>Material</ListBoxItem>
          </ListBox>
        </smtx:XamlDisplay>
      </TabItem>
      <TabItem Header="Button/Switch">
        <StackPanel>
          <smtx:XamlDisplay HorizontalAlignment="Left" UniqueKey="ToggleSwitch_1">
            <controls:ToggleSwitch HorizontalAlignment="Left" IsOn="True" />
          </smtx:XamlDisplay>
          <smtx:XamlDisplay HorizontalAlignment="Left" UniqueKey="AccentSquareButton_1">
            <Button Width="100"
                    Margin="0,8,0,0"
                    HorizontalAlignment="Left"
                    Content="Nice"
                    Style="{StaticResource MahApps.Styles.Button.Square.Accent}" />
          </smtx:XamlDisplay>
        </StackPanel>
      </TabItem>
      <TabItem Header="Sliders">
        <StackPanel>
          <smtx:XamlDisplay UniqueKey="Slider_1">
            <Slider Margin="6,16,6,0"
                    TickFrequency="10"
                    TickPlacement="BottomRight" />
          </smtx:XamlDisplay>
          <smtx:XamlDisplay UniqueKey="Slider_2">
            <controls:RangeSlider Margin="6,16,6,0"
                                  LowerValue="25"
                                  TickFrequency="10"
                                  TickPlacement="BottomRight"
                                  UpperValue="75" />
          </smtx:XamlDisplay>
          <smtx:XamlDisplay UniqueKey="Slider_3">
            <controls:RangeSlider Height="200"
                                  Margin="0,16,0,0"
                                  LowerValue="25"
                                  Orientation="Vertical"
                                  UpperValue="75" />
          </smtx:XamlDisplay>
        </StackPanel>
      </TabItem>
      <TabItem Header="NumericUpDown">
        <StackPanel>
          <smtx:XamlDisplay UniqueKey="NumericUpDown_1">
            <controls:NumericUpDown Margin="5" Value="{Binding UpDownValue, ValidatesOnExceptions=True}" />
          </smtx:XamlDisplay>
          <smtx:XamlDisplay UniqueKey="NumericUpDown_2">
            <controls:NumericUpDown Margin="5"
                                    controls:TextBoxHelper.SelectAllOnFocus="True"
                                    Culture="ar-EG"
                                    FlowDirection="RightToLeft" />
          </smtx:XamlDisplay>
          <smtx:XamlDisplay UniqueKey="NumericUpDown_3">
            <controls:NumericUpDown Style="{StaticResource MaterialDesignOutlinedNumericUpDown}" />
          </smtx:XamlDisplay>
        </StackPanel>
      </TabItem>
      <TabItem Header="DataGrid">
        <smtx:XamlDisplay UniqueKey="DataGrid_1">
          <DataGrid AutoGenerateColumns="False" ItemsSource="{Binding GridData}">
            <DataGrid.Columns>
              <DataGridCheckBoxColumn Binding="{Binding IsChecked}"
                                      EditingElementStyle="{StaticResource MaterialDesignDataGridCheckBoxColumnEditingStyle}"
                                      ElementStyle="{StaticResource MaterialDesignDataGridCheckBoxColumnStyle}">
                <DataGridCheckBoxColumn.Header>
                  <CheckBox IsChecked="False" IsEnabled="False" />
                </DataGridCheckBoxColumn.Header>
              </DataGridCheckBoxColumn>
              <mdix:DataGridTextColumn Binding="{Binding Text}"
                                       EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnPopupEditingStyle}"
                                       Header="Text" />
              <mdix:DataGridComboBoxColumn Header="Combo"
                                           ItemsSource="{Binding Source={StaticResource EnumValues}}"
                                           SelectedItemBinding="{Binding EnumValue}" />
              <controls:DataGridNumericUpDownColumn Width="300"
                                                    Binding="{Binding IntValue}"
                                                    Header="Numeric"
                                                    Minimum="0"
                                                    StringFormat="{}{0} km"
                                                    TextAlignment="Center" />
            </DataGrid.Columns>
          </DataGrid>
        </smtx:XamlDisplay>
      </TabItem>
    </controls:MetroAnimatedSingleRowTabControl>

  </StackPanel>
</UserControl>


================================================
FILE: src/MahMaterialDragablzMashUp/Mah.xaml.cs
================================================
namespace MahMaterialDragablzMashUp;

/// <summary>
/// Interaction logic for MahApps.xaml
/// </summary>
public partial class Mah : UserControl
{
    public Mah()
    {
        InitializeComponent();
    }
}


================================================
FILE: src/MahMaterialDragablzMashUp/MahAppsDragablzDemo.csproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFrameworks>net472;net8.0-windows</TargetFrameworks>
    <UseWPF>true</UseWPF>
    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <AssemblyTitle>MahMaterialDragablzMashUp</AssemblyTitle>
    <Product>MahMaterialDragablzMashUp</Product>
    <Prefer32Bit Condition="'$(TargetFramework)' == 'net472'">true</Prefer32Bit>
    <SignAssembly>false</SignAssembly>
  </PropertyGroup>
  <ItemGroup>
    <ProjectReference Include="..\MaterialDesignColors.Wpf\MaterialDesignColors.Wpf.csproj" />
    <ProjectReference Include="..\MaterialDesignThemes.MahApps\MaterialDesignThemes.MahApps.csproj" />
    <ProjectReference Include="..\MaterialDesignThemes.Wpf\MaterialDesignThemes.Wpf.csproj" />
  </ItemGroup>
  <ItemGroup>
    <Resource Include="Resources\ProfilePic.jpg" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Dragablz" />
    <PackageReference Include="MahApps.Metro" />
    <PackageReference Include="ShowMeTheXAML" />
    <PackageReference Include="ShowMeTheXAML.AvalonEdit" />
    <PackageReference Include="ShowMeTheXAML.MSBuild" />
  </ItemGroup>
</Project>

================================================
FILE: src/MahMaterialDragablzMashUp/MahViewModel.cs
================================================
using System.Collections.ObjectModel;
using System.ComponentModel;

namespace MahAppsDragablzDemo;

public class MahViewModel : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler? PropertyChanged;

    public ObservableCollection<GridRowData> GridData { get; }

    private int _UpDownValue;
    public int UpDownValue
    {
        get
        {
            return _UpDownValue;
        }
        set
        {
            if (value < 0)
            {
                throw new Exception("Value must be positive");
            }
            if (_UpDownValue != value)
            {
                _UpDownValue = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(UpDownValue)));
            }
        }
    }

    public MahViewModel()
    {
        GridData = new ObservableCollection<GridRowData> {
            new GridRowData {
                IsChecked = false,
                Text = "Mars",
                EnumValue = EnumValues.ValueA,
                IntValue = 4879
            },
            new GridRowData {
                IsChecked = false,
                Text = "Venus",
                EnumValue = EnumValues.ValueB,
                IntValue = 12104
            },
            new GridRowData {
                IsChecked = true,
                Text = "Earth",
                EnumValue = EnumValues.ValueC,
                IntValue = 12742
            },
            new GridRowData {
                IsChecked = true,
                Text = "Merkur",
                EnumValue = EnumValues.ValueA,
                IntValue = 6779
            },
            new GridRowData {
                IsChecked = true,
                Text = "Jupiter",
                EnumValue = EnumValues.ValueD,
                IntValue = 139822
            },
            new GridRowData {
                IsChecked = true,
                Text = "Saturn",
                EnumValue = EnumValues.ValueC,
                IntValue = 116464
            },
            new GridRowData {
                IsChecked = true,
                Text = "Uranus",
                EnumValue = EnumValues.ValueC,
                IntValue = 50724
            },
            new GridRowData {
                IsChecked = true,
                Text = "Neptun",
                EnumValue = EnumValues.ValueB,
                IntValue = 49244
            },
            new GridRowData {
                IsChecked = true,
                Text = "Pluto",
                EnumValue = EnumValues.ValueA,
                IntValue = 2370
            }
        };
    }
}

public class GridRowData
{
    public bool IsChecked { get; set; }
    public string? Text { get; set; }
    public EnumValues EnumValue { get; set; }
    public int IntValue { get; set; }
}

public enum EnumValues
{
    ValueA, ValueB, ValueC, ValueD
}


================================================
FILE: src/MahMaterialDragablzMashUp/MainWindow.xaml
================================================
<controls:MetroWindow x:Class="MahMaterialDragablzMashUp.MainWindow"
                      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                      xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
                      xmlns:dockablz="clr-namespace:Dragablz.Dockablz;assembly=Dragablz"
                      xmlns:dragablz="clr-namespace:Dragablz;assembly=Dragablz"
                      xmlns:mahMaterialDragablzMashUp="clr-namespace:MahMaterialDragablzMashUp"
                      xmlns:wpf="http://materialdesigninxaml.net/winfx/xaml/themes"
                      Title="Material-MahApps-Dragablz Mash Up"
                      Width="800"
                      Height="640"
                      FontFamily="{DynamicResource MahApps.Fonts.Family.Window.Title}"
                      GlowBrush="{DynamicResource MahApps.Brushes.Accent}"
                      Style="{StaticResource MaterialDesignWindow}"
                      WindowTransitionsEnabled="False">
  <Window.CommandBindings>
    <CommandBinding Command="Copy" Executed="OnCopy" />
  </Window.CommandBindings>
  <controls:MetroWindow.WindowButtonCommands>
    <controls:WindowButtonCommands Style="{StaticResource MahApps.Styles.WindowButtonCommands.Win10}" />
  </controls:MetroWindow.WindowButtonCommands>
  <controls:MetroWindow.Flyouts>
    <controls:FlyoutsControl>
      <controls:Flyout x:Name="LeftFlyout"
                       wpf:FlyoutAssist.HeaderColorMode="SecondaryMid"
                       Header="Settings"
                       Position="Left">
        <mahMaterialDragablzMashUp:FlyoutContent />
      </controls:Flyout>
    </controls:FlyoutsControl>
  </controls:MetroWindow.Flyouts>
  <controls:MetroWindow.LeftWindowCommands>
    <controls:WindowCommands>
      <wpf:PopupBox Style="{StaticResource WindowCommandsPopupBoxStyle}">
        <StackPanel>
          <Button Content="Hello World" />
          <Button Content="Nice Popup" />
          <Button Content="Goodbye" />
        </StackPanel>
      </wpf:PopupBox>
    </controls:WindowCommands>
  </controls:MetroWindow.LeftWindowCommands>
  <dockablz:Layout>
    <dragablz:TabablzControl Margin="0,-1,0,1" BorderThickness="0">
      <dragablz:TabablzControl.InterTabController>
        <dragablz:InterTabController />
      </dragablz:TabablzControl.InterTabController>
      <TabItem Header="DIALOGS">
        <mahMaterialDragablzMashUp:Dialogs Margin="8">
          <mahMaterialDragablzMashUp:Dialogs.DataContext>
            <mahMaterialDragablzMashUp:DialogsViewModel />
          </mahMaterialDragablzMashUp:Dialogs.DataContext>
        </mahMaterialDragablzMashUp:Dialogs>
      </TabItem>
      <TabItem Header="MAHAPPS">
        <mahMaterialDragablzMashUp:Mah Margin="16" />
      </TabItem>
      <TabItem Header="PALETTE">
        <mahMaterialDragablzMashUp:PaletteSelector Margin="16">
          <mahMaterialDragablzMashUp:PaletteSelector.DataContext>
            <mahMaterialDragablzMashUp:PaletteSelectorViewModel />
          </mahMaterialDragablzMashUp:PaletteSelector.DataContext>
        </mahMaterialDragablzMashUp:PaletteSelector>
      </TabItem>
    </dragablz:TabablzControl>
  </dockablz:Layout>
</controls:MetroWindow>


================================================
FILE: src/MahMaterialDragablzMashUp/MainWindow.xaml.cs
================================================
using System.Diagnostics;

namespace MahMaterialDragablzMashUp;

/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void OnCopy(object sender, ExecutedRoutedEventArgs e)
    {
        if (e.Parameter is string stringValue)
        {
            try
            {
                Clipboard.SetDataObject(stringValue);
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.ToString());
            }
        }
    }
}


================================================
FILE: src/MahMaterialDragablzMashUp/NotEmptyValidationRule.cs
================================================
using System.Globalization;

namespace MaterialDesignColors.WpfExample;

public class NotEmptyValidationRule : ValidationRule
{
    public override ValidationResult Validate(object value, CultureInfo cultureInfo)
    {
        return string.IsNullOrWhiteSpace((value ?? "").ToString())
            ? new ValidationResult(false, "Field is required.")
            : ValidationResult.ValidResult;
    }
}


================================================
FILE: src/MahMaterialDragablzMashUp/PaletteSelector.xaml
================================================
<UserControl x:Class="MahMaterialDragablzMashUp.PaletteSelector"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mahMaterialDragablzMashUp="clr-namespace:MahMaterialDragablzMashUp"
             xmlns:materialDesignColors="clr-namespace:MaterialDesignColors;assembly=MaterialDesignColors"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:wpf="clr-namespace:MaterialDesignThemes.Wpf;assembly=MaterialDesignThemes.Wpf" xmlns:materialDesignMahApps="http://materialdesigninxaml.net/winfx/xaml/themes"
             d:DataContext="{d:DesignInstance mahMaterialDragablzMashUp:PaletteSelectorViewModel,
                                              IsDesignTimeCreatable=False}"
             d:DesignHeight="300"
             d:DesignWidth="300"
             mc:Ignorable="d">
  <UserControl.Resources>
    <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
    <materialDesignMahApps:NullableToVisibilityConverter x:Key="NullableToVisibilityConverter" />
    <Style TargetType="Button" BasedOn="{StaticResource MaterialDesignFlatButton}">
      <Setter Property="CommandParameter" Value="{Binding}" />
      <Setter Property="Foreground">
        <Setter.Value>
          <SolidColorBrush Color="{Binding ExemplarHue.Foreground, Mode=OneTime}" />
        </Setter.Value>
      </Setter>
      <Setter Property="HorizontalAlignment" Value="Stretch" />
      <Setter Property="Margin" Value="0" />
      <Setter Property="VerticalAlignment" Value="Stretch" />
    </Style>
    <Style x:Key="PalettePath" TargetType="Path">
      <Setter Property="Data" Value="M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z" />
      <Setter Property="Fill">
        <Setter.Value>
          <SolidColorBrush Color="{Binding ExemplarHue.Foreground, Mode=OneTime}" />
        </Setter.Value>
      </Setter>
    </Style>
    <DataTemplate DataType="{x:Type materialDesignColors:Swatch}">
      <wpf:Card Width="240" Margin="4">
        <Grid>
          <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
          </Grid.RowDefinitions>
          <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="Auto" />
          </Grid.ColumnDefinitions>
          <TextBlock Grid.ColumnSpan="2"
                     Margin="8"
                     Text="{Binding Name}" />
          <Border Grid.Row="1"
                  Grid.Column="0"
                  MinWidth="120">
            <Border.Background>
              <SolidColorBrush Color="{Binding ExemplarHue.Color, Mode=OneTime}" />
            </Border.Background>
            <Button Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type mahMaterialDragablzMashUp:PaletteSelector}}, Path=DataContext.ApplyPrimaryCommand, Mode=OneTime}" CommandParameter="{Binding}">
              <StackPanel Orientation="Horizontal">
                <TextBlock Text="Primary" />
                <Viewbox Width="16" Height="16">
                  <Canvas Width="24" Height="24">
                    <Path Style="{StaticResource PalettePath}" />
                  </Canvas>
                </Viewbox>
              </StackPanel>
            </Button>
          </Border>
          <Border Grid.Row="1"
                  Grid.Column="1"
                  Width="120"
                  Visibility="{Binding SecondaryExemplarHue, Converter={StaticResource NullableToVisibilityConverter}, Mode=OneTime}">
            <Border.Background>
              <SolidColorBrush Color="{Binding SecondaryExemplarHue.Color, Mode=OneTime}" />
            </Border.Background>
            <Button Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type mahMaterialDragablzMashUp:PaletteSelector}}, Path=DataContext.ApplySecondaryCommand, Mode=OneTime}" CommandParameter="{Binding}">
              <StackPanel Orientation="Horizontal">
                <TextBlock Text="Secondary" />
                <Viewbox Width="16" Height="16">
                  <Canvas Width="24" Height="24">
                    <Path Style="{StaticResource PalettePath}" />
                  </Canvas>
                </Viewbox>
              </StackPanel>
            </Button>
          </Border>
        </Grid>
      </wpf:Card>
    </DataTemplate>
  </UserControl.Resources>
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto" />
      <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid Margin="16,0,0,4" HorizontalAlignment="Left">
      <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
      </Grid.RowDefinitions>
      <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
      </Grid.ColumnDefinitions>
      <TextBlock VerticalAlignment="Center">Standard Style</TextBlock>
      <ToggleButton Grid.Column="1"
                    Margin="8,4,16,4"
                    Command="{Binding ToggleStyleCommand}"
                    CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=IsChecked}" />
      <TextBlock Grid.Column="2" VerticalAlignment="Center">Alternate Style</TextBlock>
      <TextBlock Grid.Row="1" VerticalAlignment="Center">Light</TextBlock>
      <ToggleButton Grid.Row="1"
                    Grid.Column="1"
                    Margin="8,4,16,4"
                    IsChecked="{Binding IsDarkTheme}" />
      <TextBlock Grid.Row="1"
                 Grid.Column="2"
                 VerticalAlignment="Center">
        Dark
      </TextBlock>
    </Grid>
    <ScrollViewer Grid.Row="1"
                  HorizontalScrollBarVisibility="Disabled"
                  VerticalScrollBarVisibility="Auto">
      <ItemsControl ItemsSource="{Binding Swatches, Mode=OneTime}">
        <ItemsControl.ItemsPanel>
          <ItemsPanelTemplate>
            <WrapPanel />
          </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
      </ItemsControl>
    </ScrollViewer>
  </Grid>
</UserControl>


================================================
FILE: src/MahMaterialDragablzMashUp/PaletteSelector.xaml.cs
================================================
namespace MahMaterialDragablzMashUp;

/// <summary>
/// Interaction logic for Palette.xaml
/// </summary>
public partial class PaletteSelector : UserControl
{
    public PaletteSelector()
    {
        InitializeComponent();
    }
}


================================================
FILE: src/MahMaterialDragablzMashUp/PaletteSelectorViewModel.cs
================================================
using System.ComponentModel;
using MaterialDesignColors;
using MaterialDesignThemes.Wpf;

namespace MahMaterialDragablzMashUp;

public class PaletteSelectorViewModel : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler? PropertyChanged;


    public PaletteSelectorViewModel()
    {
        Swatches = new SwatchesProvider().Swatches;

        PaletteHelper paletteHelper = new PaletteHelper();
        Theme theme = paletteHelper.GetTheme();

        IsDarkTheme = theme.GetBaseTheme() == BaseTheme.Dark;
    }

    public ICommand ToggleStyleCommand { get; } = new AnotherCommandImplementation(o => ApplyStyle((bool)o!));

    public IEnumerable<Swatch> Swatches { get; }

    public ICommand ApplyPrimaryCommand { get; } = new AnotherCommandImplementation(o => ApplyPrimary((Swatch)o!));

    public ICommand ApplySecondaryCommand { get; } = new AnotherCommandImplementation(o => ApplySecondary((Swatch)o!));

    private bool _isDarkTheme;
    public bool IsDarkTheme
    {
        get => _isDarkTheme;
        set
        {
            if (_isDarkTheme != value)
            {
                _isDarkTheme = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsDarkTheme)));
                ApplyBase(value);
            }
        }
    }

    private static void ApplyStyle(bool alternate)
    {
        var resourceDictionary = new ResourceDictionary
        {
            Source = new Uri(@"pack://application:,,,/Dragablz;component/Themes/materialdesign.xaml")
        };

        var styleKey = alternate ? "MaterialDesignAlternateTabablzControlStyle" : "MaterialDesignTabablzControlStyle";
        var style = (Style)resourceDictionary[styleKey];

        foreach (var tabablzControl in Dragablz.TabablzControl.GetLoadedInstances())
        {
            tabablzControl.Style = style;
        }
    }

    private static void ApplyBase(bool isDark)
        => ModifyTheme(theme => theme.SetBaseTheme(isDark ? BaseTheme.Dark : BaseTheme.Light));

    private static void ApplyPrimary(Swatch swatch)
        => ModifyTheme(theme => theme.SetPrimaryColor(swatch.ExemplarHue.Color));

    private static void ApplySecondary(Swatch swatch)
    {
        if (swatch.SecondaryExemplarHue is Hue secondaryHue)
        {
            ModifyTheme(theme => theme.SetSecondaryColor(secondaryHue.Color));
        }
    }

    private static void ModifyTheme(Action<Theme> modificationAction)
    {
        PaletteHelper paletteHelper = new PaletteHelper();
        Theme theme = paletteHelper.GetTheme();

        modificationAction?.Invoke(theme);

        paletteHelper.SetTheme(theme);
    }
}


================================================
FILE: src/MahMaterialDragablzMashUp/Properties/AssemblyInfo.cs
================================================
using System.Runtime.InteropServices;

// Setting ComVisible to false makes the types in this assembly not visible 
// to COM components.  If you need to access a type in this assembly from 
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]

//In order to begin building localizable applications, set 
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
//inside a <PropertyGroup>.  For example, if you are using US english
//in your source files, set the <UICulture> to en-US.  Then uncomment
//the NeutralResourceLanguage attribute below.  Update the "en-US" in
//the line below to match the UICulture setting in the project file.

//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]


[assembly: ThemeInfo(
    ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
                                     //(used if a resource is not found in the page, 
                                     // or application resource dictionaries)
    ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
                                              //(used if a resource is not found in the page, 
                                              // app, or any theme specific resource dictionaries)
)]


================================================
FILE: src/MahMaterialDragablzMashUp/Properties/Resources.Designer.cs
================================================
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace MahAppsDragablzDemo.Properties; 
using System;


/// <summary>
///   A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
    
    private static global::System.Resources.ResourceManager resourceMan;
    
    private static global::System.Globalization.CultureInfo resourceCulture;
    
    [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
    internal Resources() {
    }
    
    /// <summary>
    ///   Returns the cached ResourceManager instance used by this class.
    /// </summary>
    [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
    internal static global::System.Resources.ResourceManager ResourceManager {
        get {
            if (object.ReferenceEquals(resourceMan, null)) {
                global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MahAppsDragablzDemo.Properties.Resources", typeof(Resources).Assembly);
                resourceMan = temp;
            }
            return resourceMan;
        }
    }
    
    /// <summary>
    ///   Overrides the current thread's CurrentUICulture property for all
    ///   resource lookups using this strongly typed resource class.
    /// </summary>
    [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
    internal static global::System.Globalization.CultureInfo Culture {
        get {
            return resourceCulture;
        }
        set {
            resourceCulture = value;
        }
    }
}


================================================
FILE: src/MahMaterialDragablzMashUp/Properties/Resources.resx
================================================
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>

================================================
FILE: src/MahMaterialDragablzMashUp/Properties/Settings.Designer.cs
================================================
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace MahAppsDragablzDemo.Properties; 


[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.2.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
    
    private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
    
    public static Settings Default {
        get {
            return defaultInstance;
        }
    }
}


================================================
FILE: src/MahMaterialDragablzMashUp/Properties/Settings.settings
================================================
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>

================================================
FILE: src/MahMaterialDragablzMashUp/XamlDisplayEx.cs
================================================
namespace MahAppsDragablzDemo;

public static class XamlDisplayEx
{
    public static readonly DependencyProperty ButtonDockProperty = DependencyProperty.RegisterAttached(
        "ButtonDock", typeof(Dock), typeof(XamlDisplayEx), new PropertyMetadata(default(Dock)));

    public static void SetButtonDock(DependencyObject element, Dock value)
    {
        element.SetValue(ButtonDockProperty, value);
    }

    public static Dock GetButtonDock(DependencyObject element)
    {
        return (Dock)element.GetValue(ButtonDockProperty);
    }
}


================================================
FILE: src/MainDemo.Wpf/App.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
    </startup>
  <appSettings>
    <add key="GitHub" value="https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit"/>
  </appSettings>
</configuration>


================================================
FILE: src/MainDemo.Wpf/App.manifest
================================================
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
  <assemblyIdentity version="1.0.0.0" name="MaterialDesignDemo.app"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <!-- UAC Manifest Options
             If you want to change the Windows User Account Control level replace the 
             requestedExecutionLevel node with one of the following.

        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

            Specifying requestedExecutionLevel element will disable file and registry virtualization. 
            Remove this element if your application requires this virtualization for backwards
            compatibility.
        -->
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>

  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!-- A list of the Windows versions that this application has been tested on and is
           is designed to work with. Uncomment the appropriate elements and Windows will 
           automatically selected the most compatible environment. -->

      <!-- Windows Vista -->
      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->

      <!-- Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />

      <!-- Windows 8 -->
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />

      <!-- Windows 8.1 -->
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />

      <!-- Windows 10 -->
      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />

    </application>
  </compatibility>

  <!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
       DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need 
       to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should 
       also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
  
  <application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
      <!-- The combination of below two tags have the following effect : 
      1) Per-Monitor for >= RS1 (Windows 10 Anniversary Update)
      2) System < RS1 -->
      <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor, System</dpiAwareness>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
    </windowsSettings>
  </application>
  

  <!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
  <!--
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
          type="win32"
          name="Microsoft.Windows.Common-Controls"
          version="6.0.0.0"
          processorArchitecture="*"
          publicKeyToken="6595b64144ccf1df"
          language="*"
        />
    </dependentAssembly>
  </dependency>
  -->

</assembly>


================================================
FILE: src/MainDemo.Wpf/App.xaml
================================================
<Application x:Class="MaterialDesignDemo.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:avalonEdit="http://icsharpcode.net/sharpdevelop/avalonedit"
             xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
             xmlns:materialDesignDemo="clr-namespace:MaterialDesignDemo"
             xmlns:smtx="clr-namespace:ShowMeTheXAML;assembly=ShowMeTheXAML"
             xmlns:smtxAe="clr-namespace:ShowMeTheXAML.AvalonEdit;assembly=ShowMeTheXAML.AvalonEdit"
             xmlns:system="clr-namespace:System;assembly=mscorlib"
             StartupUri="MainWindow.xaml">
  <Application.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <!-- This is the current way to set up your app's initial theme -->
        <!-- PrimaryColor and SecondaryColor also support the constant string "Inherit" to specify the color should use the system theme accent color -->
        <materialDesign:BundledTheme BaseTheme="Inherit"
                                     ColorAdjustment="{materialDesign:ColorAdjustment}"
                                     PrimaryColor="DeepPurple"
                                     SecondaryColor="Lime" />

        <!--
        If you would prefer to use your own colors, there is an option for that as well:
        PrimaryColor and SecondaryColor also support the constant string "Inherit" to specify the color should use the system theme accent color
        -->
        <!--<materialDesign:CustomColorTheme BaseTheme="Light" PrimaryColor="Aqua" SecondaryColor="#FF006400" />-->

        <!-- You can also use the built-in theme dictionaries: -->
        <!--
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.DeepPurple.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Secondary/MaterialDesignColor.Lime.xaml" />
        -->


        <!-- NB: If you're migrating and not wanting to update your brushes, you will want this resource dictionary for the old brush names: -->
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ObsoleteBrushes.xaml" />

        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesign2.Defaults.xaml" />

        <ResourceDictionary Source="pack://application:,,,/ShowMeTheXAML.AvalonEdit;component/Themes/xamldisplayer.xaml" />
      </ResourceDictionary.MergedDictionaries>

      <Style TargetType="smtx:XamlDisplay" BasedOn="{StaticResource {x:Type smtx:XamlDisplay}}">
        <Style.Resources>
          <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
              <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Button.xaml" />
              <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ToggleButton.xaml" />
            </ResourceDictionary.MergedDictionaries>

            <smtxAe:TextDocumentValueConverter x:Key="TextDocumentValueConverter" />
          </ResourceDictionary>
        </Style.Resources>
        <Setter Property="Formatter">
          <Setter.Value>
            <smtx:XamlFormatter Indent="  " NewLineOnAttributes="True">
              <smtx:XamlFormatter.NamespacesToRemove>
                <system:String>http://materialdesigninxaml.net/winfx/xaml/themes</system:String>
              </smtx:XamlFormatter.NamespacesToRemove>
            </smtx:XamlFormatter>
          </Setter.Value>
        </Setter>
        <Setter Property="HorizontalContentAlignment" Value="Right" />
        <Setter Property="IsTabStop" Value="False" />
        <Setter Property="Template">
          <Setter.Value>
            <ControlTemplate TargetType="smtx:XamlDisplay">
              <DockPanel>
                <materialDesign:PopupBox x:Name="PopupBox"
                                         Padding="10"
                                         HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                         VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                         DockPanel.Dock="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(materialDesignDemo:XamlDisplayEx.ButtonDock)}"
                                         IsTabStop="False"
                                         StaysOpen="True">
                  <materialDesign:PopupBox.ToggleContent>
                    <materialDesign:PackIcon Margin="3"
                                             Background="Transparent"
                                             Cursor="Hand"
                                             Foreground="{DynamicResource PrimaryHueDarkBrush}"
                                             Kind="Xml"
                                             ToolTip="View XAML">
                      <materialDesign:PackIcon.Style>
                        <Style TargetType="materialDesign:PackIcon" BasedOn="{StaticResource {x:Type materialDesign:PackIcon}}">
                          <Setter Property="Opacity" Value="0.4" />
                          <Style.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                              <Setter Property="Opacity" Value="1" />
                            </Trigger>
                          </Style.Triggers>
                        </Style>
                      </materialDesign:PackIcon.Style>
                    </materialDesign:PackIcon>
                  </materialDesign:PopupBox.ToggleContent>
                  <Border MaxWidth="800" MaxHeight="600">
                    <DockPanel>
                      <Button Margin="0,10,0,0"
                              HorizontalAlignment="Right"
                              Command="Copy"
                              CommandParameter="{Binding Xaml, RelativeSource={RelativeSource TemplatedParent}}"
                              Content="_COPY"
                              DockPanel.Dock="Bottom"
                              Style="{StaticResource MaterialDesignRaisedButton}"
                              Tag="{Binding Xaml, RelativeSource={RelativeSource TemplatedParent}}" />
                      <avalonEdit:TextEditor Document="{Binding Xaml, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource TextDocumentValueConverter}}" Style="{StaticResource AvalonTextEditorXamlDisplay}" />
                    </DockPanel>
                  </Border>

                </materialDesign:PopupBox>
                <Grid>
                  <AdornerDecorator>
                    <Border Margin="-5"
                            BorderBrush="{DynamicResource SecondaryHueMidBrush}"
                            Opacity=".4">
                      <Border.Style>
                        <Style TargetType="Border">
                          <Setter Property="BorderThickness" Value="0" />
                          <Style.Triggers>
                            <DataTrigger Binding="{Binding ElementName=PopupBox, Path=IsPopupOpen}" Value="True">
                              <Setter Property="BorderThickness" Value="5" />
                            </DataTrigger>
                          </Style.Triggers>
                        </Style>
                      </Border.Style>
                    </Border>
                  </AdornerDecorator>
                  <ContentPresenter />
                </Grid>
              </DockPanel>
            </ControlTemplate>
          </Setter.Value>
        </Setter>
        <Setter Property="VerticalContentAlignment" Value="Bottom" />
        <Setter Property="materialDesignDemo:XamlDisplayEx.ButtonDock" Value="Right" />
      </Style>

      <Style TargetType="TextBlock" BasedOn="{StaticResource MaterialDesignHeadline5TextBlock}" x:Key="PageTitleTextBlock">
        <Setter Property="Margin" Value="0 0 0 24"/> 
      </Style>

      <Style TargetType="TextBlock" BasedOn="{StaticResource MaterialDesignHeadline6TextBlock}" x:Key="PageSectionTitleTextBlock">
        <Setter Property="Margin" Value="0 0 0 16"/>
      </Style>

      <Style TargetType="Rectangle" x:Key="PageSectionSeparator">
        <Setter Property="Margin" Value="0,24" />
        <Setter Property="Height" Value="1" />
        <Setter Property="Fill" Value="{DynamicResource MaterialDesignDivider}" />
      </Style>

    </ResourceDictionary>
  </Application.Resources>
</Application>


================================================
FILE: src/MainDemo.Wpf/App.xaml.cs
================================================
using MaterialDesign.Shared;
using MaterialDesignThemes.Wpf;
using ShowMeTheXAML;

namespace MaterialDesignDemo;

/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
    internal string? StartupPage { get; set; }
    internal FlowDirection InitialFlowDirection { get; set; }
    internal BaseTheme InitialTheme { get; set; }

    protected override void OnStartup(StartupEventArgs e)
    {
        (StartupPage, InitialFlowDirection, InitialTheme) = CommandLineOptions.ParseCommandLine(e.Args);

        //This is an alternate way to initialize MaterialDesignInXAML if you don't use the MaterialDesignResourceDictionary in App.xaml
        //Color primaryColor = SwatchHelper.Lookup[MaterialDesignColor.DeepPurple];
        //Color secondaryColor = SwatchHelper.Lookup[MaterialDesignColor.Lime];
        //ITheme theme = Theme.Create(new MaterialDesignLightTheme(), primaryColor, secondaryColor);
        //Resources.SetTheme(theme);


        //Illustration of setting culture info fully in WPF:
        /*             
        Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
        Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
        FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(
                    XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
        */

        XamlDisplay.Init();

        // test setup for Persian culture settings
        /*System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fa-Ir");
        System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fa-Ir");
        FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(
                    System.Windows.Markup.XmlLanguage.GetLanguage(System.Globalization.CultureInfo.CurrentCulture.IetfLanguageTag)));*/

        base.OnStartup(e);
    }
}


================================================
FILE: src/MainDemo.Wpf/ButtonAssist.cs
================================================
namespace MaterialDesignDemo;

public static class ButtonAssist
{
    public static readonly DependencyProperty UniformCornerRadiusProperty = DependencyProperty.RegisterAttached(
        "UniformCornerRadius", typeof(double), typeof(ButtonAssist), new PropertyMetadata(2.0, OnUniformCornerRadius));

    private static void OnUniformCornerRadius(DependencyObject d, DependencyPropertyChangedEventArgs e)
        => MaterialDesignThemes.Wpf.ButtonAssist.SetCornerRadius(d, new CornerRadius((double)e.NewValue));

    public static void SetUniformCornerRadius(DependencyObject element, double value)
        => element.SetValue(UniformCornerRadiusProperty, value);

    public static double GetUniformCornerRadius(DependencyObject element)
        => (double)element.GetValue(UniformCornerRadiusProperty);
}


================================================
FILE: src/MainDemo.Wpf/Buttons.xaml
================================================
<UserControl x:Class="MaterialDesignDemo.Buttons"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:sharedDomain="clr-namespace:MaterialDesignDemo.Shared.Domain;assembly=MaterialDesignDemo.Shared"
             xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
             xmlns:materialDesignConverters="clr-namespace:MaterialDesignThemes.Wpf.Converters;assembly=MaterialDesignThemes.Wpf"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:smtx="clr-namespace:ShowMeTheXAML;assembly=ShowMeTheXAML"
             xmlns:system="clr-namespace:System;assembly=mscorlib"
             d:DataContext="{d:DesignInstance sharedDomain:ButtonsViewModel}"
             d:DesignHeight="2000"
             d:DesignWidth="800"
             mc:Ignorable="d">
  <UserControl.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Button.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.CheckBox.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ListBox.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.PopupBox.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.RadioButton.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.SplitButton.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.TextBlock.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ToggleButton.xaml" />
      </ResourceDictionary.MergedDictionaries>
      <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
    </ResourceDictionary>
  </UserControl.Resources>
  <StackPanel>
    <TextBlock Style="{StaticResource PageTitleTextBlock}" Text="Button" />

    <TextBlock Style="{StaticResource PageSectionTitleTextBlock}" Text="Default" />
    <StackPanel>
      <StackPanel.Resources>
        <system:Double x:Key="IconSize">24</system:Double>
        <system:Double x:Key="ButtonWidth">90</system:Double>
      </StackPanel.Resources>

      <StackPanel>
        <StackPanel Margin="0,0,0,16" Orientation="Horizontal">
          <smtx:XamlDisplay Margin="0,0,8,0" UniqueKey="buttons_mini_action_1">
            <Button IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFloatingActionMiniLightButton}"
                    ToolTip="MaterialDesignFloatingActionMiniLightButton">
              <materialDesign:PackIcon Width="{StaticResource IconSize}"
                                       Height="{StaticResource IconSize}"
                                       Kind="Alarm" />
            </Button>
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_mini_action_2">
            <Button HorizontalAlignment="Left"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFloatingActionMiniButton}"
                    ToolTip="MaterialDesignFloatingActionMiniButton">
              <materialDesign:PackIcon Width="{StaticResource IconSize}"
                                       Height="{StaticResource IconSize}"
                                       Kind="Alarm" />
            </Button>
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_mini_action_3">
            <Button IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFloatingActionMiniDarkButton}"
                    ToolTip="MaterialDesignFloatingActionMiniDarkButton">
              <materialDesign:PackIcon Width="{StaticResource IconSize}"
                                       Height="{StaticResource IconSize}"
                                       Kind="Alarm" />
            </Button>
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_mini_action_4">
            <Button IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFloatingActionMiniSecondaryLightButton}"
                    ToolTip="MaterialDesignFloatingActionMiniSecondaryLightButton">
              <materialDesign:PackIcon Width="{StaticResource IconSize}"
                                       Height="{StaticResource IconSize}"
                                       Kind="Alarm" />
            </Button>
          </smtx:XamlDisplay>
          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_mini_action_5">
            <Button IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFloatingActionMiniSecondaryButton}"
                    ToolTip="MaterialDesignFloatingActionMiniSecondaryButton">
              <materialDesign:PackIcon Width="{StaticResource IconSize}"
                                       Height="{StaticResource IconSize}"
                                       Kind="Alarm" />
            </Button>
          </smtx:XamlDisplay>
          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_mini_action_6">
            <Button IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFloatingActionMiniSecondaryDarkButton}"
                    ToolTip="MaterialDesignFloatingActionMiniSecondaryDarkButton">
              <materialDesign:PackIcon Width="{StaticResource IconSize}"
                                       Height="{StaticResource IconSize}"
                                       Kind="Alarm" />
            </Button>
          </smtx:XamlDisplay>
        </StackPanel>
        <StackPanel Margin="0,0,0,16" Orientation="Horizontal">

          <smtx:XamlDisplay Margin="0,0,8,0" UniqueKey="buttons_action_1">
            <Button IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFloatingActionLightButton}"
                    ToolTip="MaterialDesignFloatingActionLightButton">
              <materialDesign:PackIcon Width="{StaticResource IconSize}"
                                       Height="{StaticResource IconSize}"
                                       Kind="Alarm" />
            </Button>
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_action_2">
            <Button IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFloatingActionButton}"
                    ToolTip="MaterialDesignFloatingActionButton">
              <materialDesign:PackIcon Width="{StaticResource IconSize}"
                                       Height="{StaticResource IconSize}"
                                       Kind="Alarm" />
            </Button>
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_action_3">
            <Button IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFloatingActionDarkButton}"
                    ToolTip="MaterialDesignFloatingActionDarkButton">
              <materialDesign:PackIcon Width="{StaticResource IconSize}"
                                       Height="{StaticResource IconSize}"
                                       Kind="Alarm" />
            </Button>
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_action_4">
            <Button IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFloatingActionSecondaryLightButton}"
                    ToolTip="MaterialDesignFloatingActionSecondaryLightButton">
              <materialDesign:PackIcon Width="{StaticResource IconSize}"
                                       Height="{StaticResource IconSize}"
                                       Kind="Alarm" />
            </Button>
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_action_5">
            <Button IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFloatingActionSecondaryButton}"
                    ToolTip="MaterialDesignFloatingActionSecondaryButton">
              <materialDesign:PackIcon Width="{StaticResource IconSize}"
                                       Height="{StaticResource IconSize}"
                                       Kind="Alarm" />
            </Button>
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_action_6">
            <Button IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFloatingActionSecondaryDarkButton}"
                    ToolTip="MaterialDesignFloatingActionSecondaryDarkButton">
              <materialDesign:PackIcon Width="{StaticResource IconSize}"
                                       Height="{StaticResource IconSize}"
                                       Kind="Alarm" />
            </Button>
          </smtx:XamlDisplay>
        </StackPanel>
        <StackPanel Margin="0,0,0,16" Orientation="Horizontal">
          <smtx:XamlDisplay Margin="0,0,8,0" UniqueKey="buttons_raised_1">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="_LIGHT"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignRaisedLightButton}"
                    ToolTip="Resource name: MaterialDesignRaisedLightButton" />
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_raised_2">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="_MID"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignRaisedButton}"
                    ToolTip="Resource name: MaterialDesignRaisedButton" />
          </smtx:XamlDisplay>
          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_raised_3">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="_DARK"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignRaisedDarkButton}"
                    ToolTip="Resource name: MaterialDesignRaisedLightDarkButton" />
          </smtx:XamlDisplay>
          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_raised_4">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="LIGHT"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignRaisedSecondaryLightButton}"
                    ToolTip="Resource name: MaterialDesignRaisedSecondaryLightButton" />
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_raised_5">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="MID"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignRaisedSecondaryButton}"
                    ToolTip="Resource name: MaterialDesignRaisedSecondaryButton" />
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_raised_6">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="DARK"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignRaisedSecondaryDarkButton}"
                    ToolTip="Resource name: MaterialDesignRaisedSecondaryDarkButton" />
          </smtx:XamlDisplay>
        </StackPanel>
        <StackPanel Margin="0,0,0,16" Orientation="Horizontal">
          <smtx:XamlDisplay Margin="0,0,8,0" UniqueKey="buttons_paper_1">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="LIGHT"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignPaperLightButton}"
                    ToolTip="Resource name: MaterialDesignPaperLightButton" />
          </smtx:XamlDisplay>
          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_paper_2">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="MID"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignPaperButton}"
                    ToolTip="Resource name: MaterialDesignPaperButton" />
          </smtx:XamlDisplay>
          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_paper_3">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="DARK"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignPaperDarkButton}"
                    ToolTip="Resource name: MaterialDesignPaperDarkButton" />
          </smtx:XamlDisplay>
          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_paper_4">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="LIGHT"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignPaperSecondaryLightButton}"
                    ToolTip="Resource name: MaterialDesignPaperSecondaryLightButton" />
          </smtx:XamlDisplay>
          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_paper_5">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="MID"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignPaperSecondaryButton}"
                    ToolTip="Resource name: MaterialDesignPaperSecondaryButton" />
          </smtx:XamlDisplay>
          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_paper_6">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="DARK"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignPaperSecondaryDarkButton}"
                    ToolTip="Resource name: MaterialDesignPaperSecondaryDarkButton" />
          </smtx:XamlDisplay>
        </StackPanel>
        <StackPanel Margin="0,0,0,16" Orientation="Horizontal">
          <smtx:XamlDisplay Margin="0,0,8,0" UniqueKey="buttons_flat_1">
            <Button Width="{StaticResource ButtonWidth}"
                    Click="ButtonBase_OnClick"
                    Content="LIGHT"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFlatLightButton}"
                    ToolTip="MaterialDesignFlatLightButton" />
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_flat_2">
            <Button Width="{StaticResource ButtonWidth}"
                    Click="ButtonBase_OnClick"
                    Content="MID"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFlatButton}"
                    ToolTip="MaterialDesignFlatButton" />
          </smtx:XamlDisplay>
          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_flat_3">
            <Button Width="{StaticResource ButtonWidth}"
                    Click="ButtonBase_OnClick"
                    Content="DARK"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFlatDarkButton}"
                    ToolTip="MaterialDesignFlatButton" />
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_flat_4">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="LIGHT"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Style="{StaticResource MaterialDesignFlatSecondaryLightButton}"
                    ToolTip="MaterialDesignFlatButton" />
          </smtx:XamlDisplay>

          <smtx:XamlDisplay Margin="8,0" UniqueKey="buttons_flat_5">
            <Button Width="{StaticResource ButtonWidth}"
                    Content="MID"
                    IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
                    Sty
Download .txt
gitextract_uy4cad4e/

├── .config/
│   └── dotnet-tools.json
├── .editorconfig
├── .gitattributes
├── .github/
│   ├── CONTRIBUTING.md
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yaml
│   │   ├── config.yml
│   │   └── feature_request.md
│   ├── copilot-instructions.md
│   ├── dependabot.yml
│   ├── release.yml
│   └── workflows/
│       ├── build_artifacts.yml
│       ├── control_styles.yml
│       ├── copilot-setup-steps.yml
│       ├── generate_contributors.yml
│       ├── get_versions.yml
│       ├── icon_update.yml
│       ├── nightly_release.yml
│       ├── pr_verification.yml
│       ├── release.yml
│       └── stale_issues_and_prs.yml
├── .gitignore
├── Directory.Build.props
├── Directory.packages.props
├── LICENSE
├── MaterialDesignToolkit.Full.slnx
├── README.md
├── Settings.XamlStyler
├── build/
│   ├── ApplyXamlStyler.ps1
│   ├── BuildNugets.ps1
│   ├── GenerateThemesWikiMarkdown.ps1
│   ├── MigrateBrushes.ps1
│   ├── MigrateStyles.ps1
│   ├── UpdateNugets.ps1
│   └── key.snk
├── docs/
│   ├── Freezable_Object_for_Enhanced_Performance.md
│   ├── Optimize_UI_Thread_Performance.md
│   ├── Optimizing-WPF-Rendering-Performance.md
│   ├── Reducing_Layout_Complexity.md
│   └── rendering-performance.md
├── global.json
├── nuget.config
├── src/
│   ├── MahMaterialDragablzMashUp/
│   │   ├── AnotherCommandImplementation.cs
│   │   ├── App.config
│   │   ├── App.xaml
│   │   ├── App.xaml.cs
│   │   ├── Dialogs.xaml
│   │   ├── Dialogs.xaml.cs
│   │   ├── DialogsViewModel.cs
│   │   ├── FlyoutContent.xaml
│   │   ├── FlyoutContent.xaml.cs
│   │   ├── Mah.xaml
│   │   ├── Mah.xaml.cs
│   │   ├── MahAppsDragablzDemo.csproj
│   │   ├── MahViewModel.cs
│   │   ├── MainWindow.xaml
│   │   ├── MainWindow.xaml.cs
│   │   ├── NotEmptyValidationRule.cs
│   │   ├── PaletteSelector.xaml
│   │   ├── PaletteSelector.xaml.cs
│   │   ├── PaletteSelectorViewModel.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   └── XamlDisplayEx.cs
│   ├── MainDemo.Wpf/
│   │   ├── App.config
│   │   ├── App.manifest
│   │   ├── App.xaml
│   │   ├── App.xaml.cs
│   │   ├── ButtonAssist.cs
│   │   ├── Buttons.xaml
│   │   ├── Buttons.xaml.cs
│   │   ├── Cards.xaml
│   │   ├── Cards.xaml.cs
│   │   ├── Chips.xaml
│   │   ├── Chips.xaml.cs
│   │   ├── ColorTool.xaml
│   │   ├── ColorTool.xaml.cs
│   │   ├── ColorZones.xaml
│   │   ├── ColorZones.xaml.cs
│   │   ├── ComboBoxes.xaml
│   │   ├── ComboBoxes.xaml.cs
│   │   ├── CommandLineOptions.cs
│   │   ├── DataGrids.xaml
│   │   ├── DataGrids.xaml.cs
│   │   ├── Dialogs.xaml
│   │   ├── Dialogs.xaml.cs
│   │   ├── Domain/
│   │   │   ├── DemoItem.cs
│   │   │   ├── DialogsViewModel.cs
│   │   │   ├── DocumentationLink.cs
│   │   │   ├── DocumentationLinkType.cs
│   │   │   ├── DocumentationLinks.xaml
│   │   │   ├── DocumentationLinks.xaml.cs
│   │   │   ├── FieldsViewModel.cs
│   │   │   ├── FutureDateValidationRule.cs
│   │   │   ├── IconPackViewModel.cs
│   │   │   ├── IsCheckedValidationRule.cs
│   │   │   ├── Link.cs
│   │   │   ├── ListsAndGridsViewModel.cs
│   │   │   ├── MainWindowViewModel.cs
│   │   │   ├── NotEmptyValidationRule.cs
│   │   │   ├── PaletteSelectorViewModel.cs
│   │   │   ├── PickersViewModel.cs
│   │   │   ├── Sample4Dialog.xaml
│   │   │   ├── Sample4Dialog.xaml.cs
│   │   │   ├── SampleDialog.xaml
│   │   │   ├── SampleDialog.xaml.cs
│   │   │   ├── SampleDialogViewModel.cs
│   │   │   ├── SampleMessageDialog.xaml
│   │   │   ├── SampleMessageDialog.xaml.cs
│   │   │   ├── SampleProgressDialog.xaml
│   │   │   ├── SampleProgressDialog.xaml.cs
│   │   │   ├── SelectableViewModel.cs
│   │   │   ├── SimpleDataTemplateSelector.cs
│   │   │   ├── SimpleDateValidationRule.cs
│   │   │   ├── SlidersViewModel.cs
│   │   │   ├── SmartHintViewModel.cs
│   │   │   ├── TabsViewModel.cs
│   │   │   ├── ThemeSettingsViewModel.cs
│   │   │   └── TreesViewModel.cs
│   │   ├── Drawers.xaml
│   │   ├── Drawers.xaml.cs
│   │   ├── Elevation.xaml
│   │   ├── Elevation.xaml.cs
│   │   ├── Expander.xaml
│   │   ├── Expander.xaml.cs
│   │   ├── Fields.xaml
│   │   ├── Fields.xaml.cs
│   │   ├── FieldsLineUp.xaml
│   │   ├── FieldsLineUp.xaml.cs
│   │   ├── GroupBoxes.xaml
│   │   ├── GroupBoxes.xaml.cs
│   │   ├── Home.xaml
│   │   ├── Home.xaml.cs
│   │   ├── IconPack.xaml
│   │   ├── IconPack.xaml.cs
│   │   ├── InputElementContentControl.cs
│   │   ├── Lists.xaml
│   │   ├── Lists.xaml.cs
│   │   ├── MainWindow.xaml
│   │   ├── MainWindow.xaml.cs
│   │   ├── MaterialDesignDemo.csproj
│   │   ├── MenusAndToolBars.xaml
│   │   ├── MenusAndToolBars.xaml.cs
│   │   ├── NavigationRail.xaml
│   │   ├── NavigationRail.xaml.cs
│   │   ├── NumericUpDown.xaml
│   │   ├── NumericUpDown.xaml.cs
│   │   ├── PackIconKindGroup.cs
│   │   ├── Palette.xaml
│   │   ├── Palette.xaml.cs
│   │   ├── PaletteSelector.xaml
│   │   ├── PaletteSelector.xaml.cs
│   │   ├── Pickers.xaml
│   │   ├── Pickers.xaml.cs
│   │   ├── PopupBox.xaml
│   │   ├── PopupBox.xaml.cs
│   │   ├── Progress.xaml
│   │   ├── Progress.xaml.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   ├── Settings.settings
│   │   │   └── launchSettings.json
│   │   ├── RatingBar.xaml
│   │   ├── RatingBar.xaml.cs
│   │   ├── Sliders.xaml
│   │   ├── Sliders.xaml.cs
│   │   ├── SmartHint.xaml
│   │   ├── SmartHint.xaml.cs
│   │   ├── Snackbars.xaml
│   │   ├── Snackbars.xaml.cs
│   │   ├── StatusBars.xaml
│   │   ├── StatusBars.xaml.cs
│   │   ├── Tabs.xaml
│   │   ├── Tabs.xaml.cs
│   │   ├── ThemeSettings.xaml
│   │   ├── ThemeSettings.xaml.cs
│   │   ├── Toggles.xaml
│   │   ├── Toggles.xaml.cs
│   │   ├── ToolTips.xaml
│   │   ├── ToolTips.xaml.cs
│   │   ├── Transitions.xaml
│   │   ├── Transitions.xaml.cs
│   │   ├── TransitionsDemo/
│   │   │   ├── Slide1_Intro.xaml
│   │   │   ├── Slide1_Intro.xaml.cs
│   │   │   ├── Slide2_Intro.xaml
│   │   │   ├── Slide2_Intro.xaml.cs
│   │   │   ├── Slide3_Intro.xaml
│   │   │   ├── Slide3_Intro.xaml.cs
│   │   │   ├── Slide4_CombineTransitions.xaml
│   │   │   ├── Slide4_CombineTransitions.xaml.cs
│   │   │   ├── Slide5_TransitioningContent.xaml
│   │   │   ├── Slide5_TransitioningContent.xaml.cs
│   │   │   ├── Slide6_Origins.xaml
│   │   │   ├── Slide6_Origins.xaml.cs
│   │   │   ├── Slide7_MVVM.xaml
│   │   │   ├── Slide7_MVVM.xaml.cs
│   │   │   ├── Slide7_MasterModel.cs
│   │   │   ├── Slide8_Details.xaml
│   │   │   ├── Slide8_Details.xaml.cs
│   │   │   ├── TransitionsDemoHome.xaml
│   │   │   └── TransitionsDemoHome.xaml.cs
│   │   ├── Trees.xaml
│   │   ├── Trees.xaml.cs
│   │   ├── Typography.xaml
│   │   ├── Typography.xaml.cs
│   │   ├── VisualTreeUtil.cs
│   │   └── XamlDisplayEx.cs
│   ├── MaterialDesign3.Demo.Wpf/
│   │   ├── App.config
│   │   ├── App.manifest
│   │   ├── App.xaml
│   │   ├── App.xaml.cs
│   │   ├── ButtonAssist.cs
│   │   ├── Buttons.xaml
│   │   ├── Buttons.xaml.cs
│   │   ├── Cards.xaml
│   │   ├── Cards.xaml.cs
│   │   ├── Chips.xaml
│   │   ├── Chips.xaml.cs
│   │   ├── ColorScheme.cs
│   │   ├── ColorTool.xaml
│   │   ├── ColorTool.xaml.cs
│   │   ├── ColorZones.xaml
│   │   ├── ColorZones.xaml.cs
│   │   ├── ComboBoxes.xaml
│   │   ├── ComboBoxes.xaml.cs
│   │   ├── DataGrids.xaml
│   │   ├── DataGrids.xaml.cs
│   │   ├── Dialogs.xaml
│   │   ├── Dialogs.xaml.cs
│   │   ├── Domain/
│   │   │   ├── AnotherCommandImplementation.cs
│   │   │   ├── DemoItem.cs
│   │   │   ├── DialogsViewModel.cs
│   │   │   ├── DocumentationLink.cs
│   │   │   ├── DocumentationLinkType.cs
│   │   │   ├── DocumentationLinks.xaml
│   │   │   ├── DocumentationLinks.xaml.cs
│   │   │   ├── FieldsViewModel.cs
│   │   │   ├── FutureDateValidationRule.cs
│   │   │   ├── IconPackViewModel.cs
│   │   │   ├── IsCheckedValidationRule.cs
│   │   │   ├── Link.cs
│   │   │   ├── ListsAndGridsViewModel.cs
│   │   │   ├── MainWindowViewModel.cs
│   │   │   ├── NotEmptyValidationRule.cs
│   │   │   ├── PaletteSelectorViewModel.cs
│   │   │   ├── PickersViewModel.cs
│   │   │   ├── Sample4Dialog.xaml
│   │   │   ├── Sample4Dialog.xaml.cs
│   │   │   ├── SampleDialog.xaml
│   │   │   ├── SampleDialog.xaml.cs
│   │   │   ├── SampleDialogViewModel.cs
│   │   │   ├── SampleItem.cs
│   │   │   ├── SampleMessageDialog.xaml
│   │   │   ├── SampleMessageDialog.xaml.cs
│   │   │   ├── SampleProgressDialog.xaml
│   │   │   ├── SampleProgressDialog.xaml.cs
│   │   │   ├── SelectableViewModel.cs
│   │   │   ├── SimpleDataTemplateSelector.cs
│   │   │   ├── SimpleDateValidationRule.cs
│   │   │   ├── SlidersViewModel.cs
│   │   │   ├── ThemeSettingsViewModel.cs
│   │   │   └── TreesViewModel.cs
│   │   ├── Drawers.xaml
│   │   ├── Drawers.xaml.cs
│   │   ├── Elevation.xaml
│   │   ├── Elevation.xaml.cs
│   │   ├── Expander.xaml
│   │   ├── Expander.xaml.cs
│   │   ├── Fields.xaml
│   │   ├── Fields.xaml.cs
│   │   ├── FieldsLineUp.xaml
│   │   ├── FieldsLineUp.xaml.cs
│   │   ├── GroupBoxes.xaml
│   │   ├── GroupBoxes.xaml.cs
│   │   ├── Home.xaml
│   │   ├── Home.xaml.cs
│   │   ├── IconPack.xaml
│   │   ├── IconPack.xaml.cs
│   │   ├── Lists.xaml
│   │   ├── Lists.xaml.cs
│   │   ├── MainWindow.xaml
│   │   ├── MainWindow.xaml.cs
│   │   ├── MaterialDesign3Demo.csproj
│   │   ├── MenusAndToolBars.xaml
│   │   ├── MenusAndToolBars.xaml.cs
│   │   ├── NavigationBar.xaml
│   │   ├── NavigationBar.xaml.cs
│   │   ├── NavigationRail.xaml
│   │   ├── NavigationRail.xaml.cs
│   │   ├── PackIconKindGroup.cs
│   │   ├── Palette.xaml
│   │   ├── Palette.xaml.cs
│   │   ├── PaletteHelperExtensions.cs
│   │   ├── PaletteSelector.xaml
│   │   ├── PaletteSelector.xaml.cs
│   │   ├── Pickers.xaml
│   │   ├── Pickers.xaml.cs
│   │   ├── Progress.xaml
│   │   ├── Progress.xaml.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   ├── Settings.settings
│   │   │   └── launchSettings.json
│   │   ├── RatingBar.xaml
│   │   ├── RatingBar.xaml.cs
│   │   ├── Sliders.xaml
│   │   ├── Sliders.xaml.cs
│   │   ├── Snackbars.xaml
│   │   ├── Snackbars.xaml.cs
│   │   ├── ThemeSettings.xaml
│   │   ├── ThemeSettings.xaml.cs
│   │   ├── Toggles.xaml
│   │   ├── Toggles.xaml.cs
│   │   ├── ToolTips.xaml
│   │   ├── ToolTips.xaml.cs
│   │   ├── Transitions.xaml
│   │   ├── Transitions.xaml.cs
│   │   ├── TransitionsDemo/
│   │   │   ├── Slide1_Intro.xaml
│   │   │   ├── Slide1_Intro.xaml.cs
│   │   │   ├── Slide2_Intro.xaml
│   │   │   ├── Slide2_Intro.xaml.cs
│   │   │   ├── Slide3_Intro.xaml
│   │   │   ├── Slide3_Intro.xaml.cs
│   │   │   ├── Slide4_CombineTransitions.xaml
│   │   │   ├── Slide4_CombineTransitions.xaml.cs
│   │   │   ├── Slide5_TransitioningContent.xaml
│   │   │   ├── Slide5_TransitioningContent.xaml.cs
│   │   │   ├── Slide6_Origins.xaml
│   │   │   ├── Slide6_Origins.xaml.cs
│   │   │   ├── Slide7_MVVM.xaml
│   │   │   ├── Slide7_MVVM.xaml.cs
│   │   │   ├── Slide7_MasterModel.cs
│   │   │   ├── Slide8_Details.xaml
│   │   │   ├── Slide8_Details.xaml.cs
│   │   │   ├── TransitionsDemoHome.xaml
│   │   │   └── TransitionsDemoHome.xaml.cs
│   │   ├── Trees.xaml
│   │   ├── Trees.xaml.cs
│   │   ├── Typography.xaml
│   │   ├── Typography.xaml.cs
│   │   └── XamlDisplayEx.cs
│   ├── MaterialDesign3.MaterialColorUtilities/
│   │   ├── Blend/
│   │   │   └── Blend.cs
│   │   ├── Contrast/
│   │   │   └── Contrast.cs
│   │   ├── Dislike/
│   │   │   └── DislikeAnalyzer.cs
│   │   ├── DynamicColor/
│   │   │   ├── ColorSpec.cs
│   │   │   ├── ColorSpec2021.cs
│   │   │   ├── ColorSpec2025.cs
│   │   │   ├── ColorSpecs.cs
│   │   │   ├── ContrastCurve.cs
│   │   │   ├── DeltaConstraint.cs
│   │   │   ├── DynamicColor.cs
│   │   │   ├── DynamicScheme.cs
│   │   │   ├── MaterialDynamicColors.cs
│   │   │   ├── Platform.cs
│   │   │   ├── SpecVersion.cs
│   │   │   ├── ToneDeltaPair.cs
│   │   │   ├── TonePolarity.cs
│   │   │   └── Variant.cs
│   │   ├── Hct/
│   │   │   ├── Cam16.cs
│   │   │   ├── Hct.cs
│   │   │   ├── HctSolver.cs
│   │   │   └── ViewingConditions.cs
│   │   ├── MaterialColorUtilities.csproj
│   │   ├── Palettes/
│   │   │   ├── CorePalette.cs
│   │   │   ├── CorePalettes.cs
│   │   │   └── TonalPalette.cs
│   │   ├── Quantize/
│   │   │   ├── PointProvider.cs
│   │   │   ├── PointProviderLab.cs
│   │   │   ├── Quantizer.cs
│   │   │   ├── QuantizerCelebi.cs
│   │   │   ├── QuantizerMap.cs
│   │   │   ├── QuantizerResult.cs
│   │   │   ├── QuantizerWsmeans.cs
│   │   │   └── QuantizerWu.cs
│   │   ├── Scheme/
│   │   │   ├── DynamicSchemeFactory.cs
│   │   │   ├── Scheme.cs
│   │   │   ├── SchemeContent.cs
│   │   │   ├── SchemeExpressive.cs
│   │   │   ├── SchemeFidelity.cs
│   │   │   ├── SchemeFruitSalad.cs
│   │   │   ├── SchemeMonochrome.cs
│   │   │   ├── SchemeNeutral.cs
│   │   │   ├── SchemeRainbow.cs
│   │   │   ├── SchemeTonalSpot.cs
│   │   │   └── SchemeVibrant.cs
│   │   ├── Score/
│   │   │   └── Score.cs
│   │   ├── Temperature/
│   │   │   └── TemperatureCache.cs
│   │   └── Utils/
│   │       ├── ColorUtils.cs
│   │       ├── MathUtils.cs
│   │       └── StringUtils.cs
│   ├── MaterialDesign3.Motion/
│   │   ├── AnimationEndReason.cs
│   │   ├── AnimationParameters.cs
│   │   ├── AnimationSpec.cs
│   │   ├── AnimationVector.cs
│   │   ├── AnimationVector1D.cs
│   │   ├── AnimationVector2D.cs
│   │   ├── AnimationVector3D.cs
│   │   ├── AnimationVector4D.cs
│   │   ├── AnimationVectorExtensions.cs
│   │   ├── AnimationVectorFactory.cs
│   │   ├── ArcSpline.cs
│   │   ├── CubicBezierEasing.cs
│   │   ├── Easing.cs
│   │   ├── Hermite.cs
│   │   ├── IMotionScheme.cs
│   │   ├── ITwoWayConverter.cs
│   │   ├── MonoSpline.cs
│   │   ├── Motion.cs
│   │   ├── Motion.csproj
│   │   ├── Motion.md
│   │   ├── MotionSchemeContext.cs
│   │   ├── MotionSchemeExtensions.cs
│   │   ├── MotionSchemeKeyTokenExtensions.cs
│   │   ├── MotionSchemeKeyTokens.cs
│   │   ├── MotionSchemes.cs
│   │   ├── MotionTokens.cs
│   │   ├── Preconditions.cs
│   │   ├── RepeatMode.cs
│   │   ├── Repeatable.cs
│   │   ├── SpringConstants.cs
│   │   ├── SpringEstimation.cs
│   │   ├── SpringMotionSpec.cs
│   │   ├── SpringSimulation.cs
│   │   ├── TwoWayConverter.cs
│   │   └── VectorConverters.cs
│   ├── MaterialDesignColors.Wpf/
│   │   ├── ColorManipulation/
│   │   │   ├── ColorAssist.cs
│   │   │   ├── Hsb.cs
│   │   │   ├── HsbExtensions.cs
│   │   │   ├── Hsl.cs
│   │   │   ├── HslExtensions.cs
│   │   │   ├── Lab.cs
│   │   │   ├── LabExtensions.cs
│   │   │   ├── Xyz.cs
│   │   │   └── XyzExtensions.cs
│   │   ├── ColorPair.cs
│   │   ├── Hue.cs
│   │   ├── ISwatch.cs
│   │   ├── MaterialDesignColor.cs
│   │   ├── MaterialDesignColors.Wpf.csproj
│   │   ├── MaterialDesignColors.nuspec
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   ├── Recommended/
│   │   │   ├── AmberSwatch.cs
│   │   │   ├── BlueGreySwatch.cs
│   │   │   ├── BlueSwatch.cs
│   │   │   ├── BrownSwatch.cs
│   │   │   ├── CyanSwatch.cs
│   │   │   ├── DeepOrangeSwatch.cs
│   │   │   ├── DeepPurpleSwatch.cs
│   │   │   ├── GreenSwatch.cs
│   │   │   ├── GreySwatch.cs
│   │   │   ├── IndigoSwatch.cs
│   │   │   ├── LightBlueSwatch.cs
│   │   │   ├── LightGreenSwatch.cs
│   │   │   ├── LimeSwatch.cs
│   │   │   ├── OrangeSwatch.cs
│   │   │   ├── PinkSwatch.cs
│   │   │   ├── PurpleSwatch.cs
│   │   │   ├── RedSwatch.cs
│   │   │   ├── TealSwatch.cs
│   │   │   └── YellowSwatch.cs
│   │   ├── StaticResourceExtension.cs
│   │   ├── Swatch.cs
│   │   ├── SwatchHelper.cs
│   │   ├── SwatchesProvider.cs
│   │   └── Themes/
│   │       ├── MaterialDesignColor.Amber.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Amber.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Amber.Named.xaml
│   │       ├── MaterialDesignColor.Amber.Primary.xaml
│   │       ├── MaterialDesignColor.Amber.Secondary.xaml
│   │       ├── MaterialDesignColor.Amber.xaml
│   │       ├── MaterialDesignColor.Blue.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Blue.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Blue.Named.xaml
│   │       ├── MaterialDesignColor.Blue.Primary.xaml
│   │       ├── MaterialDesignColor.Blue.Secondary.xaml
│   │       ├── MaterialDesignColor.Blue.xaml
│   │       ├── MaterialDesignColor.BlueGrey.Named.Primary.xaml
│   │       ├── MaterialDesignColor.BlueGrey.Named.xaml
│   │       ├── MaterialDesignColor.BlueGrey.Primary.xaml
│   │       ├── MaterialDesignColor.BlueGrey.xaml
│   │       ├── MaterialDesignColor.Brown.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Brown.Named.xaml
│   │       ├── MaterialDesignColor.Brown.Primary.xaml
│   │       ├── MaterialDesignColor.Brown.xaml
│   │       ├── MaterialDesignColor.Cyan.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Cyan.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Cyan.Named.xaml
│   │       ├── MaterialDesignColor.Cyan.Primary.xaml
│   │       ├── MaterialDesignColor.Cyan.Secondary.xaml
│   │       ├── MaterialDesignColor.Cyan.xaml
│   │       ├── MaterialDesignColor.DeepOrange.Named.Primary.xaml
│   │       ├── MaterialDesignColor.DeepOrange.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.DeepOrange.Named.xaml
│   │       ├── MaterialDesignColor.DeepOrange.Primary.xaml
│   │       ├── MaterialDesignColor.DeepOrange.Secondary.xaml
│   │       ├── MaterialDesignColor.DeepOrange.xaml
│   │       ├── MaterialDesignColor.DeepPurple.Named.Primary.xaml
│   │       ├── MaterialDesignColor.DeepPurple.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.DeepPurple.Named.xaml
│   │       ├── MaterialDesignColor.DeepPurple.Primary.xaml
│   │       ├── MaterialDesignColor.DeepPurple.Secondary.xaml
│   │       ├── MaterialDesignColor.DeepPurple.xaml
│   │       ├── MaterialDesignColor.Green.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Green.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Green.Named.xaml
│   │       ├── MaterialDesignColor.Green.Primary.xaml
│   │       ├── MaterialDesignColor.Green.Secondary.xaml
│   │       ├── MaterialDesignColor.Green.xaml
│   │       ├── MaterialDesignColor.Grey.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Grey.Named.xaml
│   │       ├── MaterialDesignColor.Grey.Primary.xaml
│   │       ├── MaterialDesignColor.Grey.xaml
│   │       ├── MaterialDesignColor.Indigo.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Indigo.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Indigo.Named.xaml
│   │       ├── MaterialDesignColor.Indigo.Primary.xaml
│   │       ├── MaterialDesignColor.Indigo.Secondary.xaml
│   │       ├── MaterialDesignColor.Indigo.xaml
│   │       ├── MaterialDesignColor.LightBlue.Named.Primary.xaml
│   │       ├── MaterialDesignColor.LightBlue.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.LightBlue.Named.xaml
│   │       ├── MaterialDesignColor.LightBlue.Primary.xaml
│   │       ├── MaterialDesignColor.LightBlue.Secondary.xaml
│   │       ├── MaterialDesignColor.LightBlue.xaml
│   │       ├── MaterialDesignColor.LightGreen.Named.Primary.xaml
│   │       ├── MaterialDesignColor.LightGreen.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.LightGreen.Named.xaml
│   │       ├── MaterialDesignColor.LightGreen.Primary.xaml
│   │       ├── MaterialDesignColor.LightGreen.Secondary.xaml
│   │       ├── MaterialDesignColor.LightGreen.xaml
│   │       ├── MaterialDesignColor.Lime.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Lime.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Lime.Named.xaml
│   │       ├── MaterialDesignColor.Lime.Primary.xaml
│   │       ├── MaterialDesignColor.Lime.Secondary.xaml
│   │       ├── MaterialDesignColor.Lime.xaml
│   │       ├── MaterialDesignColor.Orange.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Orange.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Orange.Named.xaml
│   │       ├── MaterialDesignColor.Orange.Primary.xaml
│   │       ├── MaterialDesignColor.Orange.Secondary.xaml
│   │       ├── MaterialDesignColor.Orange.xaml
│   │       ├── MaterialDesignColor.Pink.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Pink.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Pink.Named.xaml
│   │       ├── MaterialDesignColor.Pink.Primary.xaml
│   │       ├── MaterialDesignColor.Pink.Secondary.xaml
│   │       ├── MaterialDesignColor.Pink.xaml
│   │       ├── MaterialDesignColor.Purple.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Purple.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Purple.Named.xaml
│   │       ├── MaterialDesignColor.Purple.Primary.xaml
│   │       ├── MaterialDesignColor.Purple.Secondary.xaml
│   │       ├── MaterialDesignColor.Purple.xaml
│   │       ├── MaterialDesignColor.Red.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Red.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Red.Named.xaml
│   │       ├── MaterialDesignColor.Red.Primary.xaml
│   │       ├── MaterialDesignColor.Red.Secondary.xaml
│   │       ├── MaterialDesignColor.Red.xaml
│   │       ├── MaterialDesignColor.Teal.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Teal.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Teal.Named.xaml
│   │       ├── MaterialDesignColor.Teal.Primary.xaml
│   │       ├── MaterialDesignColor.Teal.Secondary.xaml
│   │       ├── MaterialDesignColor.Teal.xaml
│   │       ├── MaterialDesignColor.Yellow.Named.Primary.xaml
│   │       ├── MaterialDesignColor.Yellow.Named.Secondary.xaml
│   │       ├── MaterialDesignColor.Yellow.Named.xaml
│   │       ├── MaterialDesignColor.Yellow.Primary.xaml
│   │       ├── MaterialDesignColor.Yellow.Secondary.xaml
│   │       ├── MaterialDesignColor.Yellow.xaml
│   │       └── Recommended/
│   │           ├── Primary/
│   │           │   ├── MaterialDesignColor.Amber.xaml
│   │           │   ├── MaterialDesignColor.Blue.xaml
│   │           │   ├── MaterialDesignColor.BlueGrey.xaml
│   │           │   ├── MaterialDesignColor.Brown.xaml
│   │           │   ├── MaterialDesignColor.Cyan.xaml
│   │           │   ├── MaterialDesignColor.DeepOrange.xaml
│   │           │   ├── MaterialDesignColor.DeepPurple.xaml
│   │           │   ├── MaterialDesignColor.Green.xaml
│   │           │   ├── MaterialDesignColor.Grey.xaml
│   │           │   ├── MaterialDesignColor.Indigo.xaml
│   │           │   ├── MaterialDesignColor.LightBlue.xaml
│   │           │   ├── MaterialDesignColor.LightGreen.xaml
│   │           │   ├── MaterialDesignColor.Lime.xaml
│   │           │   ├── MaterialDesignColor.Orange.xaml
│   │           │   ├── MaterialDesignColor.Pink.xaml
│   │           │   ├── MaterialDesignColor.Purple.xaml
│   │           │   ├── MaterialDesignColor.Red.xaml
│   │           │   ├── MaterialDesignColor.Teal.xaml
│   │           │   └── MaterialDesignColor.Yellow.xaml
│   │           └── Secondary/
│   │               ├── MaterialDesignColor.Amber.xaml
│   │               ├── MaterialDesignColor.Blue.xaml
│   │               ├── MaterialDesignColor.Cyan.xaml
│   │               ├── MaterialDesignColor.DeepOrange.xaml
│   │               ├── MaterialDesignColor.DeepPurple.xaml
│   │               ├── MaterialDesignColor.Green.xaml
│   │               ├── MaterialDesignColor.Indigo.xaml
│   │               ├── MaterialDesignColor.LightBlue.xaml
│   │               ├── MaterialDesignColor.LightGreen.xaml
│   │               ├── MaterialDesignColor.Lime.xaml
│   │               ├── MaterialDesignColor.Orange.xaml
│   │               ├── MaterialDesignColor.Pink.xaml
│   │               ├── MaterialDesignColor.Purple.xaml
│   │               ├── MaterialDesignColor.Red.xaml
│   │               ├── MaterialDesignColor.Teal.xaml
│   │               └── MaterialDesignColor.Yellow.xaml
│   ├── MaterialDesignDemo.Shared/
│   │   ├── ColorScheme.cs
│   │   ├── Converters/
│   │   │   ├── BoolToTextWrappingConverter.cs
│   │   │   ├── BooleanToDoubleConverter.cs
│   │   │   ├── BrushToHexConverter.cs
│   │   │   ├── ColorToBrushConverter.cs
│   │   │   ├── IsTransparentConverter.cs
│   │   │   ├── MultiValueEqualityConverter.cs
│   │   │   └── StringJoinConverter.cs
│   │   ├── Domain/
│   │   │   ├── AnotherCommandImplementation.cs
│   │   │   ├── ButtonsViewModel.cs
│   │   │   ├── ColorToolViewModel.cs
│   │   │   ├── ComboBoxesViewModel.cs
│   │   │   ├── ToolTipsViewModel.cs
│   │   │   └── ViewModelBase.cs
│   │   ├── MaterialDesignDemo.Shared.csproj
│   │   └── PaletteHelperExtensions.cs
│   ├── MaterialDesignThemes.MahApps/
│   │   ├── BaseThemeExtensions.cs
│   │   ├── FlyoutAssist.cs
│   │   ├── MahAppsBundledTheme.cs
│   │   ├── MahAppsCustomColorTheme.cs
│   │   ├── MaterialDesignAssist.cs
│   │   ├── MaterialDesignThemes.MahApps.csproj
│   │   ├── MaterialDesignThemes.MahApps.nuspec
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   └── Themes/
│   │       ├── MaterialDesignTheme.MahApps.Defaults.xaml
│   │       ├── MaterialDesignTheme.MahApps.Dialogs.xaml
│   │       ├── MaterialDesignTheme.MahApps.Flyout.xaml
│   │       ├── MaterialDesignTheme.MahApps.Fonts.xaml
│   │       ├── MaterialDesignTheme.MahApps.NumericUpDown.xaml
│   │       ├── MaterialDesignTheme.MahApps.PasswordBox.xaml
│   │       ├── MaterialDesignTheme.MahApps.RangeSlider.xaml
│   │       ├── MaterialDesignTheme.MahApps.TextBox.xaml
│   │       └── MaterialDesignTheme.MahApps.WindowCommands.xaml
│   ├── MaterialDesignThemes.Wpf/
│   │   ├── AdornerExtensions.cs
│   │   ├── AutoSuggestBox.cs
│   │   ├── Automation/
│   │   │   └── Peers/
│   │   │       └── TreeListViewItemAutomationPeer.cs
│   │   ├── Badged.cs
│   │   ├── BadgedAssist.cs
│   │   ├── BaseTheme.cs
│   │   ├── BehaviorCollection.cs
│   │   ├── Behaviors/
│   │   │   ├── Internal/
│   │   │   │   ├── TabControlHeaderScrollBehavior.cs
│   │   │   │   └── TextBoxHorizontalScrollBarBehavior.cs
│   │   │   ├── PasswordBoxBehavior.cs
│   │   │   ├── PasswordBoxRevealTextBoxBehavior.cs
│   │   │   ├── SmartHintBehavior.cs
│   │   │   └── TextBoxLineCountBehavior.cs
│   │   ├── BehaviorsAssist.cs
│   │   ├── BottomDashedLineAdorner.cs
│   │   ├── BundledTheme.cs
│   │   ├── ButtonAssist.cs
│   │   ├── ButtonProgressAssist.cs
│   │   ├── CalendarAssist.cs
│   │   ├── CalendarFormatInfo.cs
│   │   ├── Card.cs
│   │   ├── CheckBoxAssist.cs
│   │   ├── Chip.cs
│   │   ├── Clock.cs
│   │   ├── ClockChoiceMadeEventArgs.cs
│   │   ├── ClockItemButton.cs
│   │   ├── ColorAdjustment.cs
│   │   ├── ColorPicker.cs
│   │   ├── ColorReference.cs
│   │   ├── ColorSelection.cs
│   │   ├── ColorZone.cs
│   │   ├── ColorZoneAssist.cs
│   │   ├── ColorZoneMode.cs
│   │   ├── ComboBoxAssist.cs
│   │   ├── ComboBoxPopup.cs
│   │   ├── Constants.cs
│   │   ├── Contrast.cs
│   │   ├── Converters/
│   │   │   ├── BooleanAllConverter.cs
│   │   │   ├── BooleanConverter.cs
│   │   │   ├── BooleanToDashStyleConverter.cs
│   │   │   ├── BooleanToVisibilityConverter.cs
│   │   │   ├── BorderClipConverter.cs
│   │   │   ├── BrushOpacityConverter.cs
│   │   │   ├── BrushRoundConverter.cs
│   │   │   ├── BrushToRadialGradientBrushConverter.cs
│   │   │   ├── CalendarDateCoalesceConverter.cs
│   │   │   ├── CalendarYearMonthConverter.cs
│   │   │   ├── CircularProgressBar/
│   │   │   │   ├── ArcEndPointConverter.cs
│   │   │   │   ├── ArcSizeConverter.cs
│   │   │   │   ├── LocalEx.cs
│   │   │   │   ├── RotateTransformCentreConverter.cs
│   │   │   │   └── StartPointConverter.cs
│   │   │   ├── ClockItemIsCheckedConverter.cs
│   │   │   ├── ClockLineConverter.cs
│   │   │   ├── CornerRadiusCloneConverter.cs
│   │   │   ├── CursorConverter.cs
│   │   │   ├── DrawerOffsetConverter.cs
│   │   │   ├── ElevationMarginConverter.cs
│   │   │   ├── ElevationRadiusConverter.cs
│   │   │   ├── EllipseClipConverter.cs
│   │   │   ├── EqualityToVisibilityConverter.cs
│   │   │   ├── FallbackBrushConverter.cs
│   │   │   ├── FirstNonNullConverter.cs
│   │   │   ├── FloatingHintClippingGridConverter.cs
│   │   │   ├── FloatingHintContainerMarginConverter.cs
│   │   │   ├── FloatingHintInitialHorizontalOffsetConverter.cs
│   │   │   ├── FloatingHintInitialVerticalOffsetConverter.cs
│   │   │   ├── FloatingHintMarginConverter.cs
│   │   │   ├── FloatingHintScaleTransformConverter.cs
│   │   │   ├── FloatingHintTranslateTransformConverter.cs
│   │   │   ├── GridLinesVisibilityBorderToThicknessConverter.cs
│   │   │   ├── HintProxyFabricConverter.cs
│   │   │   ├── HorizontalThicknessConverter.cs
│   │   │   ├── HsbLinearGradientConverter.cs
│   │   │   ├── HsbToColorConverter.cs
│   │   │   ├── Internal/
│   │   │   │   ├── AutomationPropertiesNameConverter.cs
│   │   │   │   ├── DialogBackgroundBlurConverter.cs
│   │   │   │   ├── DoubleToCornerRadiusConverter.cs
│   │   │   │   ├── ExpanderRotateAngleConverter.cs
│   │   │   │   ├── FloatingHintTextBlockMarginConverter.cs
│   │   │   │   ├── GridViewHasColumnsConverter.cs
│   │   │   │   ├── SliderToolTipConverter.cs
│   │   │   │   ├── SliderValueLabelPositionConverter.cs
│   │   │   │   ├── TextBoxHorizontalScrollBarMarginConverter.cs
│   │   │   │   ├── TextBoxHorizontalScrollBarWidthConverter.cs
│   │   │   │   ├── TextFieldClearButtonVisibilityConverter.cs
│   │   │   │   └── ViewIsGridViewConverter.cs
│   │   │   ├── InvertBooleanConverter.cs
│   │   │   ├── IsDarkConverter.cs
│   │   │   ├── IsTransparentBrushConverter.cs
│   │   │   ├── ListViewItemContainerStyleConverter.cs
│   │   │   ├── MathConverter.cs
│   │   │   ├── MathMultipleConverter.cs
│   │   │   ├── MathOperation.cs
│   │   │   ├── NonDefaultThicknessConverter.cs
│   │   │   ├── NotConverter.cs
│   │   │   ├── NotZeroConverter.cs
│   │   │   ├── NotZeroToVisibilityConverter.cs
│   │   │   ├── NullableDateTimeToCurrentDateConverter.cs
│   │   │   ├── NullableToVisibilityConverter.cs
│   │   │   ├── OutlinedDateTimePickerActiveBorderThicknessConverter.cs
│   │   │   ├── OutlinedStyleActiveBorderMarginCompensationConverter.cs
│   │   │   ├── OutlinedStyleFloatingHintBackgroundConverter.cs
│   │   │   ├── PointValueConverter.cs
│   │   │   ├── RangeLengthConverter.cs
│   │   │   ├── RemoveAlphaBrushConverter.cs
│   │   │   ├── ShadowConverter.cs
│   │   │   ├── ShadowOpacityMaskConverter.cs
│   │   │   ├── SnackbarActionButtonPlacementModeConverter.cs
│   │   │   ├── SnackbarMessageTypeConverter.cs
│   │   │   ├── StringLengthValueConverter.cs
│   │   │   ├── TextFieldHintVisibilityConverter.cs
│   │   │   ├── TextFieldPrefixTextVisibilityConverter.cs
│   │   │   ├── ThicknessCloneConverter.cs
│   │   │   ├── TimeToVisibilityConverter.cs
│   │   │   ├── ToolBarOverflowButtonVisibilityConverter.cs
│   │   │   ├── TopThicknessConverter.cs
│   │   │   ├── TreeListViewIndentConverter.cs
│   │   │   └── VerticalAlignmentConverter.cs
│   │   ├── CustomColorTheme.cs
│   │   ├── CustomPopupPlacementCallbackHelper.cs
│   │   ├── DataGridAssist.cs
│   │   ├── DataGridComboBoxColumn.cs
│   │   ├── DataGridTextColumn.cs
│   │   ├── DatePickerAssist.cs
│   │   ├── DateTimeEx.cs
│   │   ├── DecimalUpDown.cs
│   │   ├── DialogClosedEventArgs.cs
│   │   ├── DialogClosedEventHandler.cs
│   │   ├── DialogClosingEventArgs.cs
│   │   ├── DialogClosingEventHandler.cs
│   │   ├── DialogHost.cs
│   │   ├── DialogHostEx.cs
│   │   ├── DialogOpenedEventArgs.cs
│   │   ├── DialogOpenedEventHandler.cs
│   │   ├── DialogSession.cs
│   │   ├── DpiHelper.cs
│   │   ├── DrawerClosingEventArgs.cs
│   │   ├── DrawerHost.cs
│   │   ├── DrawerHostOpenMode.cs
│   │   ├── DrawerOpenedEventArgs.cs
│   │   ├── ElevationAssist.cs
│   │   ├── ExpanderAssist.cs
│   │   ├── Flipper.cs
│   │   ├── FlipperAssist.cs
│   │   ├── FlipperClassic.cs
│   │   ├── FloatingHintHorizontalAlignment.cs
│   │   ├── GridViewColumnThumb.cs
│   │   ├── GroupBoxAssist.cs
│   │   ├── HintAssist.cs
│   │   ├── HintProxyFabric.ComboBox.cs
│   │   ├── HintProxyFabric.PasswordBox.cs
│   │   ├── HintProxyFabric.RichTextBox.cs
│   │   ├── HintProxyFabric.TextBox.cs
│   │   ├── HintProxyFabric.cs
│   │   ├── IHintProxy.cs
│   │   ├── IMaterialDesignThemeDictionary.cs
│   │   ├── ISnackbarMessageQueue.cs
│   │   ├── IThemeManager.cs
│   │   ├── InheritSystemColorTypeConverter.cs
│   │   ├── Internal/
│   │   │   ├── ClearText.cs
│   │   │   ├── InternalTextFieldAssist.cs
│   │   │   ├── PaddedBringIntoViewStackPanel.cs
│   │   │   ├── Shims/
│   │   │   │   ├── Index.cs
│   │   │   │   └── NotNullWhen.cs
│   │   │   ├── TreeListViewContentPresenter.cs
│   │   │   └── TreeListViewItemsCollection.cs
│   │   ├── ListBoxAssist.cs
│   │   ├── ListBoxItemAssist.cs
│   │   ├── ListSortDirectionIndicator.cs
│   │   ├── ListViewAssist.cs
│   │   ├── MaterialDateDisplay.cs
│   │   ├── MaterialDesignFont.cs
│   │   ├── MaterialDesignThemes.Wpf.csproj
│   │   ├── MaterialDesignThemes.nuspec
│   │   ├── MaterialDesignThemes.targets
│   │   ├── MenuAssist.cs
│   │   ├── MenuItemAssist.cs
│   │   ├── MessageQueueExtension.cs
│   │   ├── NavigationBarAssist.cs
│   │   ├── NavigationDrawerAssist.cs
│   │   ├── NavigationRailAssist.cs
│   │   ├── NotoFontExtension.cs
│   │   ├── NumericUpDown.cs
│   │   ├── PackIcon.cs
│   │   ├── PackIconDataFactory.cs
│   │   ├── PackIconExtension.cs
│   │   ├── PackIconKind.cs
│   │   ├── PaddingMode.cs
│   │   ├── Palette.cs
│   │   ├── PaletteHelper.cs
│   │   ├── PasswordBoxAssist.cs
│   │   ├── Plane3D.cs
│   │   ├── PopupBox.cs
│   │   ├── PopupEx.cs
│   │   ├── PrefixSuffixHintBehavior.cs
│   │   ├── PrefixSuffixVisibility.cs
│   │   ├── Properties/
│   │   │   ├── AssemblyInfo.cs
│   │   │   ├── Resources.Designer.cs
│   │   │   ├── Resources.resx
│   │   │   ├── Settings.Designer.cs
│   │   │   └── Settings.settings
│   │   ├── RadioButtonAssist.cs
│   │   ├── RatingBar.cs
│   │   ├── RatingBarButton.cs
│   │   ├── ResourceDictionaryExtensions.cs
│   │   ├── ResourceDictionaryExtensions.g.cs
│   │   ├── Resources/
│   │   │   └── Noto/
│   │   │       └── OFL.txt
│   │   ├── Ripple.cs
│   │   ├── RippleAssist.cs
│   │   ├── RobotoFontExtension.cs
│   │   ├── ScaleHelper.cs
│   │   ├── ScaleHost.cs
│   │   ├── Screen.cs
│   │   ├── ScrollViewerAssist.cs
│   │   ├── ScrollbarAssist.cs
│   │   ├── ShadowAssist.cs
│   │   ├── SliderAssist.cs
│   │   ├── SmartHint.cs
│   │   ├── Snackbar.cs
│   │   ├── SnackbarMessage.cs
│   │   ├── SnackbarMessageEventArgs.cs
│   │   ├── SnackbarMessageQueue.cs
│   │   ├── SnackbarMessageQueueItem.cs
│   │   ├── Spelling.cs
│   │   ├── SplitButton.cs
│   │   ├── StringExtensions.cs
│   │   ├── TabAssist.cs
│   │   ├── TextBlockAssist.cs
│   │   ├── TextFieldAssist.cs
│   │   ├── Theme.cs
│   │   ├── Theme.g.cs
│   │   ├── ThemeAssist.cs
│   │   ├── ThemeChangedEventArgs.cs
│   │   ├── ThemeColorReference.cs
│   │   ├── ThemeExtensions.cs
│   │   ├── ThemeExtensions.g.cs
│   │   ├── Themes/
│   │   │   ├── Generic.xaml
│   │   │   ├── Internal/
│   │   │   │   ├── BaseThemeColors.cs
│   │   │   │   └── MaterialDesignTheme.BaseThemeColors.xaml
│   │   │   ├── MaterialDesign2.Defaults.xaml
│   │   │   ├── MaterialDesign3.Defaults.xaml
│   │   │   ├── MaterialDesign3.Font.xaml
│   │   │   ├── MaterialDesign3.NavigationBar.xaml
│   │   │   ├── MaterialDesign3.NavigationDrawer.xaml
│   │   │   ├── MaterialDesign3.NavigationRail.xaml
│   │   │   ├── MaterialDesign3.Slider.xaml
│   │   │   ├── MaterialDesign3.TextBlock.xaml
│   │   │   ├── MaterialDesign3.ToggleButton.xaml
│   │   │   ├── MaterialDesign3.Window.xaml
│   │   │   ├── MaterialDesignTheme.AutoSuggestBox.xaml
│   │   │   ├── MaterialDesignTheme.Badged.xaml
│   │   │   ├── MaterialDesignTheme.Button.xaml
│   │   │   ├── MaterialDesignTheme.Calendar.xaml
│   │   │   ├── MaterialDesignTheme.Card.xaml
│   │   │   ├── MaterialDesignTheme.CheckBox.xaml
│   │   │   ├── MaterialDesignTheme.Chip.xaml
│   │   │   ├── MaterialDesignTheme.Clock.xaml
│   │   │   ├── MaterialDesignTheme.ColorPicker.xaml
│   │   │   ├── MaterialDesignTheme.ComboBox.xaml
│   │   │   ├── MaterialDesignTheme.Dark.xaml
│   │   │   ├── MaterialDesignTheme.DataGrid.ComboBox.xaml
│   │   │   ├── MaterialDesignTheme.DataGrid.xaml
│   │   │   ├── MaterialDesignTheme.DatePicker.xaml
│   │   │   ├── MaterialDesignTheme.DialogHost.xaml
│   │   │   ├── MaterialDesignTheme.Expander.xaml
│   │   │   ├── MaterialDesignTheme.Flipper.xaml
│   │   │   ├── MaterialDesignTheme.FlipperClassic.xaml
│   │   │   ├── MaterialDesignTheme.Font.xaml
│   │   │   ├── MaterialDesignTheme.GridSplitter.xaml
│   │   │   ├── MaterialDesignTheme.GroupBox.xaml
│   │   │   ├── MaterialDesignTheme.Hyperlink.xaml
│   │   │   ├── MaterialDesignTheme.Label.xaml
│   │   │   ├── MaterialDesignTheme.Light.xaml
│   │   │   ├── MaterialDesignTheme.ListBox.xaml
│   │   │   ├── MaterialDesignTheme.ListView.xaml
│   │   │   ├── MaterialDesignTheme.Menu.xaml
│   │   │   ├── MaterialDesignTheme.NumericUpDown.xaml
│   │   │   ├── MaterialDesignTheme.ObsoleteBrushes.xaml
│   │   │   ├── MaterialDesignTheme.ObsoleteStyles.xaml
│   │   │   ├── MaterialDesignTheme.PasswordBox.xaml
│   │   │   ├── MaterialDesignTheme.PopupBox.xaml
│   │   │   ├── MaterialDesignTheme.ProgressBar.xaml
│   │   │   ├── MaterialDesignTheme.RadioButton.xaml
│   │   │   ├── MaterialDesignTheme.RatingBar.xaml
│   │   │   ├── MaterialDesignTheme.RichTextBox.xaml
│   │   │   ├── MaterialDesignTheme.ScrollBar.xaml
│   │   │   ├── MaterialDesignTheme.ScrollViewer.xaml
│   │   │   ├── MaterialDesignTheme.Separator.xaml
│   │   │   ├── MaterialDesignTheme.Shadows.xaml
│   │   │   ├── MaterialDesignTheme.Slider.xaml
│   │   │   ├── MaterialDesignTheme.SmartHint.xaml
│   │   │   ├── MaterialDesignTheme.Snackbar.xaml
│   │   │   ├── MaterialDesignTheme.SplitButton.xaml
│   │   │   ├── MaterialDesignTheme.StatusBar.xaml
│   │   │   ├── MaterialDesignTheme.TabControl.xaml
│   │   │   ├── MaterialDesignTheme.TextBlock.xaml
│   │   │   ├── MaterialDesignTheme.TextBox.xaml
│   │   │   ├── MaterialDesignTheme.Thumb.xaml
│   │   │   ├── MaterialDesignTheme.TimePicker.xaml
│   │   │   ├── MaterialDesignTheme.ToggleButton.xaml
│   │   │   ├── MaterialDesignTheme.ToolBar.xaml
│   │   │   ├── MaterialDesignTheme.ToolBarTray.xaml
│   │   │   ├── MaterialDesignTheme.ToolTip.xaml
│   │   │   ├── MaterialDesignTheme.TreeListView.xaml
│   │   │   ├── MaterialDesignTheme.TreeView.xaml
│   │   │   ├── MaterialDesignTheme.ValidationErrorTemplate.xaml
│   │   │   ├── MaterialDesignTheme.Window.xaml
│   │   │   └── ObsoleteConverters.xaml
│   │   ├── TimeChangedEventArgs.cs
│   │   ├── TimePicker.cs
│   │   ├── TimePickerAssist.cs
│   │   ├── TimePickerTextBox.cs
│   │   ├── ToggleButtonAssist.cs
│   │   ├── ToolTipAssist.cs
│   │   ├── TransitionAssist.cs
│   │   ├── Transitions/
│   │   │   ├── CircleWipe.cs
│   │   │   ├── FadeWipe.cs
│   │   │   ├── ITransitionEffect.cs
│   │   │   ├── ITransitionEffectSubject.cs
│   │   │   ├── ITransitionWipe.cs
│   │   │   ├── IZIndexController.cs
│   │   │   ├── IndexedItemOffsetMultiplierExtension.cs
│   │   │   ├── SlideDirection.cs
│   │   │   ├── SlideOutWipe.cs
│   │   │   ├── SlideWipe.cs
│   │   │   ├── TransitionEffect.cs
│   │   │   ├── TransitionEffectBase.cs
│   │   │   ├── TransitionEffectExtension.cs
│   │   │   ├── TransitionEffectKind.cs
│   │   │   ├── TransitionEffectTypeConverter.cs
│   │   │   ├── Transitioner.cs
│   │   │   ├── TransitionerSlide.cs
│   │   │   ├── TransitionerSlideState.cs
│   │   │   ├── TransitioningContent.cs
│   │   │   └── TransitioningContentBase.cs
│   │   ├── TreeHelper.cs
│   │   ├── TreeListView.cs
│   │   ├── TreeListViewItem.cs
│   │   ├── TreeViewAssist.cs
│   │   ├── Underline.cs
│   │   ├── UpDownBase.cs
│   │   ├── ValidationAssist.cs
│   │   ├── VisualStudioToolsManifest.xml
│   │   └── VisualTreeExtensions.cs
│   ├── MaterialDesignToolkit.ResourceGeneration/
│   │   ├── Brushes.cs
│   │   ├── Icon.cs
│   │   ├── IconDataFactorySyntaxRewriter.cs
│   │   ├── IconDiff.cs
│   │   ├── IconThing.cs
│   │   ├── MaterialColourSwatchesSnippet.xml
│   │   ├── MaterialDesignTheme.ObsoleteBrushes.xaml
│   │   ├── MaterialDesignToolkit.ResourceGeneration.csproj
│   │   ├── MdPalette.cs
│   │   ├── PackIconDataFactory.template.cs
│   │   ├── PackIconKind.template.cs
│   │   ├── Palette.json
│   │   ├── PathHelper.cs
│   │   ├── Program.cs
│   │   ├── Properties/
│   │   │   └── launchSettings.json
│   │   ├── RecommendedPrimaryTemplate.xaml
│   │   ├── RecommendedSecondaryTemplate.xaml
│   │   ├── ThemeColors.json
│   │   └── TreeItem.cs
│   ├── Shims/
│   │   ├── IsExternalInit.cs
│   │   └── MathCompat.cs
│   └── web/
│       ├── PaletteBuilder.html
│       ├── images/
│       │   ├── MD4XAML.psd
│       │   ├── MD4XAML.xcf
│       │   ├── MaterialDesign.MahApps.xcf
│       │   └── modern-wpf.xcf
│       ├── jsx/
│       │   └── PaletteBuilder.js
│       ├── scripts/
│       │   ├── PaletteBuilder.js
│       │   ├── Swatches.js
│       │   └── react.js
│       └── styles/
│           └── style.css
└── tests/
    ├── MaterialColorUtilities.Tests/
    │   ├── BlendTests.cs
    │   ├── ColorUtilsTests.cs
    │   ├── ContrastConstraintTests.cs
    │   ├── ContrastTests.cs
    │   ├── DislikeAnalyzerTests.cs
    │   ├── DynamicSchemeTests.cs
    │   ├── HctTests.cs
    │   ├── MaterialColorUtilities.Tests.csproj
    │   ├── MaterialDynamicColorsTests.cs
    │   ├── MathUtilsTests.cs
    │   ├── QuantizerCelebiTests.cs
    │   ├── QuantizerWsMeansTests.cs
    │   ├── QuantizerWuTests.cs
    │   ├── SchemeMonochromeTests.cs
    │   ├── ScoreTests.cs
    │   ├── TemperatureCacheTests.cs
    │   └── TonalPaletteTests.cs
    ├── MaterialDesignColors.Wpf.Tests/
    │   ├── ColorAssistTests.cs
    │   ├── MaterialDesignColors.Wpf.Tests.csproj
    │   ├── Properties/
    │   │   └── AssemblyInfo.cs
    │   └── ResourceProviderFixture.cs
    ├── MaterialDesignThemes.UITests/
    │   ├── AllStyles.cs
    │   ├── MaterialDesignSpec.cs
    │   ├── MaterialDesignThemes.UITests.csproj
    │   ├── Samples/
    │   │   ├── AutoSuggestBoxes/
    │   │   │   ├── AutoSuggestTextBoxWithCollectionView.xaml
    │   │   │   ├── AutoSuggestTextBoxWithCollectionView.xaml.cs
    │   │   │   ├── AutoSuggestTextBoxWithInteractiveTemplate.xaml
    │   │   │   ├── AutoSuggestTextBoxWithInteractiveTemplate.xaml.cs
    │   │   │   ├── AutoSuggestTextBoxWithTemplate.xaml
    │   │   │   └── AutoSuggestTextBoxWithTemplate.xaml.cs
    │   │   ├── DialogHost/
    │   │   │   ├── ClosingEventCounter.xaml
    │   │   │   ├── ClosingEventCounter.xaml.cs
    │   │   │   ├── ClosingEventViewModel.cs
    │   │   │   ├── LoadAndUnloadControl.xaml
    │   │   │   ├── LoadAndUnloadControl.xaml.cs
    │   │   │   ├── RestoreFocus.xaml
    │   │   │   ├── RestoreFocus.xaml.cs
    │   │   │   ├── RestoreFocusDisabled.xaml
    │   │   │   ├── RestoreFocusDisabled.xaml.cs
    │   │   │   ├── WithComboBox.xaml
    │   │   │   ├── WithComboBox.xaml.cs
    │   │   │   ├── WithCounter.xaml
    │   │   │   └── WithCounter.xaml.cs
    │   │   ├── DrawerHost/
    │   │   │   ├── CancellingDrawerHost.xaml
    │   │   │   └── CancellingDrawerHost.xaml.cs
    │   │   ├── PasswordBox/
    │   │   │   ├── BoundPasswordBox.xaml
    │   │   │   ├── BoundPasswordBox.xaml.cs
    │   │   │   ├── BoundPasswordBoxViewModel.cs
    │   │   │   ├── BoundPasswordBoxWindow.xaml
    │   │   │   └── BoundPasswordBoxWindow.xaml.cs
    │   │   ├── PopupBox/
    │   │   │   ├── PopupBoxWithTemplateSelector.xaml
    │   │   │   └── PopupBoxWithTemplateSelector.xaml.cs
    │   │   ├── SplitButton/
    │   │   │   ├── SplitButtonWithCommandBinding.xaml
    │   │   │   ├── SplitButtonWithCommandBinding.xaml.cs
    │   │   │   ├── SplitButtonWithCommandBindingWindow.xaml
    │   │   │   └── SplitButtonWithCommandBindingWindow.xaml.cs
    │   │   ├── Theme/
    │   │   │   ├── ColorAdjustWindow.xaml
    │   │   │   └── ColorAdjustWindow.xaml.cs
    │   │   ├── UpDownControls/
    │   │   │   ├── BoundNumericUpDown.xaml
    │   │   │   ├── BoundNumericUpDown.xaml.cs
    │   │   │   └── BoundNumericUpDownViewModel.cs
    │   │   └── Validation/
    │   │       ├── ValidationUpdates.xaml
    │   │       └── ValidationUpdates.xaml.cs
    │   ├── TUnit/
    │   │   └── IsCloseToExtensions.cs
    │   ├── TestBase.cs
    │   ├── WPF/
    │   │   ├── AutoSuggestBoxes/
    │   │   │   └── AutoSuggestTextBoxTests.cs
    │   │   ├── Buttons/
    │   │   │   ├── OutlineButtonTests.cs
    │   │   │   └── RaisedButtonTests.cs
    │   │   ├── Cards/
    │   │   │   ├── ElevatedCardTests.cs
    │   │   │   └── OutlinedCardTests.cs
    │   │   ├── ColorPickerTests.cs
    │   │   ├── ColorZones/
    │   │   │   └── ColorZoneTests.cs
    │   │   ├── ComboBoxes/
    │   │   │   └── ComboBoxTests.cs
    │   │   ├── ContentControls/
    │   │   │   └── ContentControlTests.cs
    │   │   ├── DatePickers/
    │   │   │   └── DatePickerTests.cs
    │   │   ├── DialogHosts/
    │   │   │   └── DialogHostTests.cs
    │   │   ├── DrawerHosts/
    │   │   │   └── DrawerHostTests.cs
    │   │   ├── Flippers/
    │   │   │   └── ClassicFlipperTests.cs
    │   │   ├── ListBoxes/
    │   │   │   └── ListBoxTests.cs
    │   │   ├── PasswordBoxes/
    │   │   │   └── PasswordBoxTests.cs
    │   │   ├── PopupBoxes/
    │   │   │   └── PopupBoxTests.cs
    │   │   ├── SnackBars/
    │   │   │   └── SnackBarTests.cs
    │   │   ├── SplitButtons/
    │   │   │   └── SplitButtonTests.cs
    │   │   ├── TabControls/
    │   │   │   └── TabControlTests.cs
    │   │   ├── TextBoxes/
    │   │   │   ├── MaterialDesignTextBox.cs
    │   │   │   └── TextBoxTests.cs
    │   │   ├── TextFieldDefaultHeightTests.cs
    │   │   ├── Theme/
    │   │   │   ├── ColorAdjustTests.cs
    │   │   │   ├── ThemeTests.cs
    │   │   │   └── ThemeTests.g.cs
    │   │   ├── TimePickers/
    │   │   │   ├── MaterialDesignTimePicker.cs
    │   │   │   └── TimePickerTests.cs
    │   │   ├── ToolBars/
    │   │   │   └── ToolBarTests.cs
    │   │   ├── TreeListViews/
    │   │   │   ├── TestableCollection.cs
    │   │   │   ├── TreeItem.cs
    │   │   │   ├── TreeListViewDataBinding.xaml
    │   │   │   ├── TreeListViewDataBinding.xaml.cs
    │   │   │   ├── TreeListViewExtensions.cs
    │   │   │   ├── TreeListViewImplicitTemplate.xaml
    │   │   │   ├── TreeListViewImplicitTemplate.xaml.cs
    │   │   │   ├── TreeListViewTemplateSelector.xaml
    │   │   │   ├── TreeListViewTemplateSelector.xaml.cs
    │   │   │   ├── TreeListViewTests.cs
    │   │   │   ├── TreeListViewWithCollectionView.xaml
    │   │   │   └── TreeListViewWithCollectionView.xaml.cs
    │   │   ├── TreeViews/
    │   │   │   └── TreeViewTests.cs
    │   │   └── UpDownControls/
    │   │       ├── DecimalUpDownTests.cs
    │   │       └── NumericUpDownTests.cs
    │   └── XamlTestExtensions.cs
    └── MaterialDesignThemes.Wpf.Tests/
        ├── AdornerExtensionsTests.cs
        ├── AllStyles.cs
        ├── BundledThemeTests.cs
        ├── ButtonProgressAssistTests.cs
        ├── CalendarFormatInfoTests.cs
        ├── CheckBoxAssistTests.cs
        ├── ClockTests.cs
        ├── ColorPickerTests.cs
        ├── Converters/
        │   ├── AutomationPropertiesNameConverterTests.cs
        │   ├── BrushOpacityConverterTests.cs
        │   ├── DoubleToCornerRadiusConverterTests.cs
        │   ├── MathConverterTests.cs
        │   ├── MathMultipleConverterTests.cs
        │   └── SliderToolTipConverterTests.cs
        ├── CustomColorThemeTests.cs
        ├── DataGridAssistTests.cs
        ├── DialogHostTests.cs
        ├── DrawerHostTests.cs
        ├── EnumDataAttribute.cs
        ├── FlipperAssistTests.cs
        ├── Internal/
        │   └── TreeListViewItemsCollectionTests.cs
        ├── LabelTests.cs
        ├── MaterialDesignThemes.Wpf.Tests.csproj
        ├── MdixHelper.cs
        ├── PackIconTests.cs
        ├── PopupBoxTests.cs
        ├── Properties/
        │   └── AssemblyInfo.cs
        ├── RatingBarTests.cs
        ├── SnackbarMessageQueueItemTests.cs
        ├── SnackbarMessageQueueTests.cs
        ├── TextBlockTests.cs
        ├── TextBoxTests.cs
        ├── ThemeTests.cs
        ├── TimePickerUnitTests.cs
        ├── TransitionerTests.cs
        ├── TreeViewTests.cs
        └── VisualTreeHelper.cs
Download .txt
Showing preview only (442K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (4211 symbols across 717 files)

FILE: src/MahMaterialDragablzMashUp/AnotherCommandImplementation.cs
  class AnotherCommandImplementation (line 6) | public class AnotherCommandImplementation : ICommand
    method AnotherCommandImplementation (line 11) | public AnotherCommandImplementation(Action<object?> execute)
    method AnotherCommandImplementation (line 16) | public AnotherCommandImplementation(Action<object?> execute, Func<obje...
    method CanExecute (line 24) | public bool CanExecute(object? parameter) => _canExecute(parameter);
    method Execute (line 26) | public void Execute(object? parameter) => _execute(parameter);
    method Refresh (line 40) | public void Refresh() => CommandManager.InvalidateRequerySuggested();

FILE: src/MahMaterialDragablzMashUp/App.xaml.cs
  class App (line 10) | public partial class App : Application
    method OnStartup (line 12) | protected override void OnStartup(StartupEventArgs e)
    method ThemeManager_ThemeChanged (line 26) | private void ThemeManager_ThemeChanged(object? sender, ThemeChangedEve...

FILE: src/MahMaterialDragablzMashUp/Dialogs.xaml.cs
  class Dialogs (line 6) | public partial class Dialogs : UserControl
    method Dialogs (line 8) | public Dialogs()

FILE: src/MahMaterialDragablzMashUp/DialogsViewModel.cs
  class DialogsViewModel (line 6) | public class DialogsViewModel
    method DialogsViewModel (line 16) | public DialogsViewModel()
    method InputDialog (line 25) | private void InputDialog()
    method ProgressDialog (line 36) | private async void ProgressDialog()
    method ShowLeftFlyout (line 50) | private void ShowLeftFlyout()

FILE: src/MahMaterialDragablzMashUp/FlyoutContent.xaml.cs
  class FlyoutContent (line 6) | public partial class FlyoutContent : UserControl
    method FlyoutContent (line 8) | public FlyoutContent()

FILE: src/MahMaterialDragablzMashUp/Mah.xaml.cs
  class Mah (line 6) | public partial class Mah : UserControl
    method Mah (line 8) | public Mah()

FILE: src/MahMaterialDragablzMashUp/MahViewModel.cs
  class MahViewModel (line 6) | public class MahViewModel : INotifyPropertyChanged
    method MahViewModel (line 33) | public MahViewModel()
  class GridRowData (line 94) | public class GridRowData
  type EnumValues (line 102) | public enum EnumValues

FILE: src/MahMaterialDragablzMashUp/MainWindow.xaml.cs
  class MainWindow (line 8) | public partial class MainWindow
    method MainWindow (line 10) | public MainWindow()
    method OnCopy (line 15) | private void OnCopy(object sender, ExecutedRoutedEventArgs e)

FILE: src/MahMaterialDragablzMashUp/NotEmptyValidationRule.cs
  class NotEmptyValidationRule (line 5) | public class NotEmptyValidationRule : ValidationRule
    method Validate (line 7) | public override ValidationResult Validate(object value, CultureInfo cu...

FILE: src/MahMaterialDragablzMashUp/PaletteSelector.xaml.cs
  class PaletteSelector (line 6) | public partial class PaletteSelector : UserControl
    method PaletteSelector (line 8) | public PaletteSelector()

FILE: src/MahMaterialDragablzMashUp/PaletteSelectorViewModel.cs
  class PaletteSelectorViewModel (line 7) | public class PaletteSelectorViewModel : INotifyPropertyChanged
    method PaletteSelectorViewModel (line 12) | public PaletteSelectorViewModel()
    method ApplyStyle (line 45) | private static void ApplyStyle(bool alternate)
    method ApplyBase (line 61) | private static void ApplyBase(bool isDark)
    method ApplyPrimary (line 64) | private static void ApplyPrimary(Swatch swatch)
    method ApplySecondary (line 67) | private static void ApplySecondary(Swatch swatch)
    method ModifyTheme (line 75) | private static void ModifyTheme(Action<Theme> modificationAction)

FILE: src/MahMaterialDragablzMashUp/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: src/MahMaterialDragablzMashUp/Properties/Settings.Designer.cs
  class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

FILE: src/MahMaterialDragablzMashUp/XamlDisplayEx.cs
  class XamlDisplayEx (line 3) | public static class XamlDisplayEx
    method SetButtonDock (line 8) | public static void SetButtonDock(DependencyObject element, Dock value)
    method GetButtonDock (line 13) | public static Dock GetButtonDock(DependencyObject element)

FILE: src/MainDemo.Wpf/App.xaml.cs
  class App (line 10) | public partial class App : Application
    method OnStartup (line 16) | protected override void OnStartup(StartupEventArgs e)

FILE: src/MainDemo.Wpf/ButtonAssist.cs
  class ButtonAssist (line 3) | public static class ButtonAssist
    method OnUniformCornerRadius (line 8) | private static void OnUniformCornerRadius(DependencyObject d, Dependen...
    method SetUniformCornerRadius (line 11) | public static void SetUniformCornerRadius(DependencyObject element, do...
    method GetUniformCornerRadius (line 14) | public static double GetUniformCornerRadius(DependencyObject element)

FILE: src/MainDemo.Wpf/Buttons.xaml.cs
  class Buttons (line 6) | public partial class Buttons
    method Buttons (line 8) | public Buttons()
    method ButtonBase_OnClick (line 14) | private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
    method PopupBox_OnOpened (line 17) | private void PopupBox_OnOpened(object sender, RoutedEventArgs e)
    method PopupBox_OnClosed (line 20) | private void PopupBox_OnClosed(object sender, RoutedEventArgs e)
    method CountingButton_OnClick (line 23) | private void CountingButton_OnClick(object sender, RoutedEventArgs e)

FILE: src/MainDemo.Wpf/Cards.xaml.cs
  class Cards (line 3) | public partial class Cards
    method Cards (line 5) | public Cards() => InitializeComponent();
    method Flipper_OnIsFlippedChanged (line 7) | private void Flipper_OnIsFlippedChanged(object sender, RoutedPropertyC...

FILE: src/MainDemo.Wpf/Chips.xaml.cs
  class Chips (line 3) | public partial class Chips
    method Chips (line 5) | public Chips() => InitializeComponent();
    method ButtonsDemoChip_OnClick (line 7) | private void ButtonsDemoChip_OnClick(object sender, RoutedEventArgs e)
    method ButtonsDemoChip_OnDeleteClick (line 10) | private void ButtonsDemoChip_OnDeleteClick(object sender, RoutedEventA...

FILE: src/MainDemo.Wpf/ColorTool.xaml.cs
  class ColorTool (line 5) | public partial class ColorTool
    method ColorTool (line 7) | public ColorTool()

FILE: src/MainDemo.Wpf/ColorZones.xaml.cs
  class ColorZones (line 3) | public partial class ColorZones
    method ColorZones (line 5) | public ColorZones() => InitializeComponent();

FILE: src/MainDemo.Wpf/ComboBoxes.xaml.cs
  class ComboBoxes (line 7) | public partial class ComboBoxes
    method ComboBoxes (line 49) | public ComboBoxes()
    method ClearFilledComboBox_Click (line 55) | private void ClearFilledComboBox_Click(object sender, System.Windows.R...
    method ClearOutlinedComboBox_Click (line 58) | private void ClearOutlinedComboBox_Click(object sender, System.Windows...

FILE: src/MainDemo.Wpf/CommandLineOptions.cs
  class CommandLineOptions (line 6) | internal static class CommandLineOptions
    method ParseCommandLine (line 37) | public static (string? StartPage, FlowDirection FlowDirection, BaseThe...

FILE: src/MainDemo.Wpf/DataGrids.xaml.cs
  class DataGrids (line 5) | public partial class DataGrids
    method DataGrids (line 7) | public DataGrids()

FILE: src/MainDemo.Wpf/Dialogs.xaml.cs
  class Dialogs (line 7) | public partial class Dialogs
    method Dialogs (line 9) | public Dialogs()
    method Sample1_DialogHost_OnDialogClosing (line 16) | private void Sample1_DialogHost_OnDialogClosing(object sender, DialogC...
    method Sample1_DialogHost_OnDialogClosed (line 30) | private void Sample1_DialogHost_OnDialogClosed(object sender, DialogCl...
    method Sample2_DialogHost_OnDialogClosing (line 45) | private void Sample2_DialogHost_OnDialogClosing(object sender, DialogC...
    method Sample2_DialogHost_OnDialogClosed (line 48) | private void Sample2_DialogHost_OnDialogClosed(object sender, DialogCl...
    method Sample5_DialogHost_OnDialogClosing (line 51) | private void Sample5_DialogHost_OnDialogClosing(object sender, DialogC...
    method Sample5_DialogHost_OnDialogClosed (line 65) | private void Sample5_DialogHost_OnDialogClosed(object sender, DialogCl...
    method Sample6_OpenDialog (line 76) | private async void Sample6_OpenDialog(object sender, RoutedEventArgs e)
    method Sample6_ResetBlur (line 86) | private void Sample6_ResetBlur(object sender, RoutedEventArgs e)

FILE: src/MainDemo.Wpf/Domain/DemoItem.cs
  class DemoItem (line 5) | public class DemoItem : ViewModelBase
    method DemoItem (line 15) | public DemoItem(string name, Type contentType, IEnumerable<Documentati...
    method CreateContent (line 47) | private object? CreateContent()

FILE: src/MainDemo.Wpf/Domain/DialogsViewModel.cs
  class DialogsViewModel (line 8) | public partial class DialogsViewModel : ObservableObject
    method RunDialog (line 12) | [RelayCommand]
    method ClosingEventHandler (line 28) | private void ClosingEventHandler(object sender, DialogClosingEventArgs...
    method ClosedEventHandler (line 31) | private void ClosedEventHandler(object sender, DialogClosedEventArgs e...
    method RunExtendedDialog (line 34) | [RelayCommand]
    method ExtendedOpenedEventHandler (line 50) | private void ExtendedOpenedEventHandler(object sender, DialogOpenedEve...
    method ExtendedClosingEventHandler (line 53) | private void ExtendedClosingEventHandler(object sender, DialogClosingE...
    method ExtendedClosedEventHandler (line 72) | private void ExtendedClosedEventHandler(object sender, DialogClosedEve...
    method OpenSample4Dialog (line 87) | [RelayCommand]
    method CancelSample4Dialog (line 94) | [RelayCommand]
    method AcceptSample4Dialog (line 97) | [RelayCommand]

FILE: src/MainDemo.Wpf/Domain/DocumentationLink.cs
  class DocumentationLink (line 6) | public class DocumentationLink
    method DocumentationLink (line 8) | public DocumentationLink(DocumentationLinkType type, string url)
    method DocumentationLink (line 13) | public DocumentationLink(DocumentationLinkType type, string url, strin...
    method WikiLink (line 22) | public static DocumentationLink WikiLink(string page, string label)
    method StyleLink (line 28) | public static DocumentationLink StyleLink(string nameChunk)
    method ApiLink (line 36) | public static DocumentationLink ApiLink<TClass>(string subNamespace)
    method ApiLink (line 47) | public static DocumentationLink ApiLink<TClass>()
    method ApiLink (line 50) | public static DocumentationLink ApiLink(Type type)
    method DemoPageLink (line 60) | public static DocumentationLink DemoPageLink<TDemoPage>()
    method DemoPageLink (line 63) | public static DocumentationLink DemoPageLink<TDemoPage>(string? label)
    method DemoPageLink (line 66) | public static DocumentationLink DemoPageLink<TDemoPage>(string? label,...
    method SpecsLink (line 79) | public static DocumentationLink SpecsLink(string url, string? label)
    method Execute (line 90) | private void Execute(object? _) => Link.OpenInBrowser(Url);

FILE: src/MainDemo.Wpf/Domain/DocumentationLinkType.cs
  type DocumentationLinkType (line 3) | public enum DocumentationLinkType

FILE: src/MainDemo.Wpf/Domain/DocumentationLinks.xaml.cs
  class DocumentationLinks (line 6) | public partial class DocumentationLinks : UserControl
    method DocumentationLinks (line 8) | public DocumentationLinks()

FILE: src/MainDemo.Wpf/Domain/FieldsViewModel.cs
  class FieldsViewModel (line 8) | public partial class FieldsViewModel : ObservableObject
    method OnAutoSuggestBox1TextChanged (line 71) | partial void OnAutoSuggestBox1TextChanged(string? value)
    method OnAutoSuggestBox2TextChanged (line 83) | partial void OnAutoSuggestBox2TextChanged(string? value)
    method OnAutoSuggestBox3TextChanged (line 95) | partial void OnAutoSuggestBox3TextChanged(string? value)
    method RemoveAutoSuggestBox3Suggestion (line 104) | [RelayCommand]
    method FieldsViewModel (line 122) | public FieldsViewModel()
    method IsMatch (line 141) | private static bool IsMatch(string item, string currentText)
    method GetColors (line 150) | private static IEnumerable<KeyValuePair<string, Color>> GetColors()
  class FieldsTestObject (line 161) | public partial class FieldsTestObject : ObservableObject

FILE: src/MainDemo.Wpf/Domain/FutureDateValidationRule.cs
  class FutureDateValidationRule (line 5) | public class FutureDateValidationRule : ValidationRule
    method Validate (line 7) | public override ValidationResult Validate(object value, CultureInfo cu...

FILE: src/MainDemo.Wpf/Domain/IconPackViewModel.cs
  class IconPackViewModel (line 10) | public class IconPackViewModel : ViewModelBase
    method IconPackViewModel (line 15) | public IconPackViewModel(ISnackbarMessageQueue snackbarMessageQueue)
    method ThemeManager_ThemeChanged (line 38) | private void ThemeManager_ThemeChanged(object? sender, ThemeChangedEve...
    method OpenDotCom (line 86) | private void OpenDotCom(object? _)
    method Search (line 89) | private async void Search(object? obj)
    method CopyToClipboard (line 104) | private void CopyToClipboard(object? obj)
    method SetDefaultIconColors (line 111) | private void SetDefaultIconColors()
    method OnSaveIcon (line 136) | private void OnSaveIcon(object? _)

FILE: src/MainDemo.Wpf/Domain/IsCheckedValidationRule.cs
  class IsCheckedValidationRule (line 5) | public class IsCheckedValidationRule : ValidationRule
    method Validate (line 7) | public override ValidationResult Validate(object value, CultureInfo cu...

FILE: src/MainDemo.Wpf/Domain/Link.cs
  class Link (line 6) | public static class Link
    method OpenInBrowser (line 8) | public static void OpenInBrowser(string? url)

FILE: src/MainDemo.Wpf/Domain/ListsAndGridsViewModel.cs
  class ListsAndGridsViewModel (line 6) | public class ListsAndGridsViewModel : ViewModelBase
    method ListsAndGridsViewModel (line 8) | public ListsAndGridsViewModel()
    method SelectAll (line 49) | private static void SelectAll(bool select, IEnumerable<SelectableViewM...
    method CreateData (line 57) | private static ObservableCollection<SelectableViewModel> CreateData()

FILE: src/MainDemo.Wpf/Domain/MainWindowViewModel.cs
  class MainWindowViewModel (line 15) | public partial class MainWindowViewModel : ObservableObject
    method MainWindowViewModel (line 17) | public MainWindowViewModel(ISnackbarMessageQueue snackbarMessageQueue,...
    method OnSearchKeywordChanged (line 49) | partial void OnSearchKeywordChanged(string? oldValue, string? newValue)
    method LoadVersions (line 57) | private void LoadVersions()
    method OnHome (line 89) | [RelayCommand]
    method OnMovePrev (line 96) | [RelayCommand(CanExecute = nameof(CanMovePrevious))]
    method CanMovePrevious (line 105) | private bool CanMovePrevious() => SelectedIndex > 0;
    method OnMoveNext (line 107) | [RelayCommand(CanExecute = nameof(CanMoveNext))]
    method CanMoveNext (line 116) | private bool CanMoveNext() => SelectedIndex < DemoItems.Count - 1;
    method GenerateDemoItems (line 118) | private static IEnumerable<DemoItem> GenerateDemoItems(ISnackbarMessag...
    method DemoItemsFilter (line 471) | private bool DemoItemsFilter(object obj)

FILE: src/MainDemo.Wpf/Domain/NotEmptyValidationRule.cs
  class NotEmptyValidationRule (line 5) | public class NotEmptyValidationRule : ValidationRule
    method Validate (line 7) | public override ValidationResult Validate(object value, CultureInfo cu...

FILE: src/MainDemo.Wpf/Domain/PaletteSelectorViewModel.cs
  class PaletteSelectorViewModel (line 7) | public class PaletteSelectorViewModel : ViewModelBase
    method PaletteSelectorViewModel (line 9) | public PaletteSelectorViewModel()
    method ApplyPrimary (line 18) | private static void ApplyPrimary(Swatch swatch)
    method ApplySecondary (line 23) | private static void ApplySecondary(Swatch swatch)
    method ModifyTheme (line 31) | private static void ModifyTheme(Action<Theme> modificationAction)

FILE: src/MainDemo.Wpf/Domain/PickersViewModel.cs
  class PickersViewModel (line 5) | public class PickersViewModel : ViewModelBase
    method PickersViewModel (line 12) | public PickersViewModel()

FILE: src/MainDemo.Wpf/Domain/Sample4Dialog.xaml.cs
  class Sample4Dialog (line 6) | public partial class Sample4Dialog : UserControl
    method Sample4Dialog (line 8) | public Sample4Dialog()

FILE: src/MainDemo.Wpf/Domain/SampleDialog.xaml.cs
  class SampleDialog (line 6) | public partial class SampleDialog : UserControl
    method SampleDialog (line 8) | public SampleDialog()

FILE: src/MainDemo.Wpf/Domain/SampleDialogViewModel.cs
  class SampleDialogViewModel (line 5) | public class SampleDialogViewModel : ViewModelBase

FILE: src/MainDemo.Wpf/Domain/SampleMessageDialog.xaml.cs
  class SampleMessageDialog (line 6) | public partial class SampleMessageDialog : UserControl
    method SampleMessageDialog (line 8) | public SampleMessageDialog()

FILE: src/MainDemo.Wpf/Domain/SampleProgressDialog.xaml.cs
  class SampleProgressDialog (line 6) | public partial class SampleProgressDialog : UserControl
    method SampleProgressDialog (line 8) | public SampleProgressDialog()

FILE: src/MainDemo.Wpf/Domain/SelectableViewModel.cs
  class SelectableViewModel (line 5) | public class SelectableViewModel : ViewModelBase
  type VehicleType (line 65) | public enum VehicleType

FILE: src/MainDemo.Wpf/Domain/SimpleDataTemplateSelector.cs
  class SimpleDataTemplateSelector (line 3) | public class SimpleDataTemplateSelector : DataTemplateSelector
    method SelectTemplate (line 7) | public override DataTemplate? SelectTemplate(object item, DependencyOb...

FILE: src/MainDemo.Wpf/Domain/SimpleDateValidationRule.cs
  class SimpleDateValidationRule (line 5) | public class SimpleDateValidationRule : ValidationRule
    method Validate (line 7) | public override ValidationResult Validate(object value, CultureInfo cu...

FILE: src/MainDemo.Wpf/Domain/SlidersViewModel.cs
  class SlidersViewModel (line 5) | public class SlidersViewModel : ViewModelBase
  class SliderViewModel (line 11) | public class SliderViewModel : ViewModelBase

FILE: src/MainDemo.Wpf/Domain/SmartHintViewModel.cs
  class SmartHintViewModel (line 7) | internal class SmartHintViewModel : ViewModelBase

FILE: src/MainDemo.Wpf/Domain/TabsViewModel.cs
  class TabsViewModel (line 7) | internal partial class TabsViewModel : ObservableObject
    method TabsViewModel (line 24) | public TabsViewModel()
  class CustomTab (line 56) | internal partial class CustomTab : ObservableObject
    method CustomTab (line 60) | public CustomTab(ICommand closeCommand) => CloseCommand = closeCommand;

FILE: src/MainDemo.Wpf/Domain/ThemeSettingsViewModel.cs
  class ThemeSettingsViewModel (line 6) | public class ThemeSettingsViewModel : ViewModelBase
    method ThemeSettingsViewModel (line 8) | public ThemeSettingsViewModel()
    method ModifyTheme (line 128) | private static void ModifyTheme(Action<Theme> modificationAction)

FILE: src/MainDemo.Wpf/Domain/TreesViewModel.cs
  class TreeExampleSimpleTemplateSelector (line 10) | public class TreeExampleSimpleTemplateSelector : DataTemplateSelector
    method SelectTemplate (line 16) | public override DataTemplate? SelectTemplate(object item, DependencyOb...
  class Movie (line 28) | public sealed class Movie
    method Movie (line 30) | public Movie(string name, string director)
  class Planet (line 41) | public class Planet
  class TestItem (line 52) | public partial class TestItem : ObservableObject
    method TestItem (line 70) | public TestItem(string name, IEnumerable<TestItem> items)
  class MovieCategory (line 77) | public sealed class MovieCategory
    method MovieCategory (line 79) | public MovieCategory(string name, params Movie[] movies)
  class TreesViewModel (line 90) | public sealed class TreesViewModel : ViewModelBase
    method TreesViewModel (line 119) | public TreesViewModel()
    method GenerateString (line 231) | private static string GenerateString(int length)

FILE: src/MainDemo.Wpf/Drawers.xaml.cs
  class Drawers (line 5) | public partial class Drawers
    method Drawers (line 7) | public Drawers()
    method Drawer_ResetBlur (line 13) | private void Drawer_ResetBlur(object sender, RoutedEventArgs e)

FILE: src/MainDemo.Wpf/Elevation.xaml.cs
  class Elevation (line 3) | public partial class Elevation
    method Elevation (line 5) | public Elevation() => InitializeComponent();

FILE: src/MainDemo.Wpf/Expander.xaml.cs
  class Expander (line 3) | public partial class Expander
    method Expander (line 5) | public Expander() => InitializeComponent();

FILE: src/MainDemo.Wpf/Fields.xaml.cs
  class Fields (line 6) | public partial class Fields
    method Fields (line 8) | public Fields()
    method Hyperlink_OnRequestNavigate (line 14) | private void Hyperlink_OnRequestNavigate(object sender, RequestNavigat...

FILE: src/MainDemo.Wpf/FieldsLineUp.xaml.cs
  class FieldsLineUp (line 7) | public partial class FieldsLineUp
    class ValidationErrorRule (line 11) | private class ValidationErrorRule : ValidationRule
      method Validate (line 13) | public override ValidationResult Validate(object value, CultureInfo ...
    method FieldsLineUp (line 21) | public FieldsLineUp()
    method UpdateThickness (line 61) | private void UpdateThickness(RangeBase slider, DependencyProperty prop...
    method SetValue (line 74) | private static void SetValue(Control control)

FILE: src/MainDemo.Wpf/GroupBoxes.xaml.cs
  class GroupBoxes (line 3) | public partial class GroupBoxes
    method GroupBoxes (line 5) | public GroupBoxes() => InitializeComponent();

FILE: src/MainDemo.Wpf/Home.xaml.cs
  class Home (line 6) | public partial class Home
    method Home (line 8) | public Home() => InitializeComponent();
    method GitHubButton_OnClick (line 10) | private void GitHubButton_OnClick(object sender, RoutedEventArgs e)
    method TwitterButton_OnClick (line 13) | private void TwitterButton_OnClick(object sender, RoutedEventArgs e)
    method ChatButton_OnClick (line 16) | private void ChatButton_OnClick(object sender, RoutedEventArgs e)
    method EmailButton_OnClick (line 19) | private void EmailButton_OnClick(object sender, RoutedEventArgs e)
    method DonateButton_OnClick (line 22) | private void DonateButton_OnClick(object sender, RoutedEventArgs e)

FILE: src/MainDemo.Wpf/IconPack.xaml.cs
  class IconPack (line 3) | public partial class IconPack
    method IconPack (line 5) | public IconPack()
    method TextBox_OnGotFocus (line 10) | private void TextBox_OnGotFocus(object sender, RoutedEventArgs e)
    method Search_OnKeyDown (line 16) | private void Search_OnKeyDown(object sender, KeyEventArgs e)

FILE: src/MainDemo.Wpf/InputElementContentControl.cs
  class InputElementContentControl (line 6) | internal class InputElementContentControl : ContentControl
    method InputElementContentControl (line 8) | public InputElementContentControl() => IsTabStop = false;

FILE: src/MainDemo.Wpf/Lists.xaml.cs
  class Lists (line 5) | public partial class Lists
    method Lists (line 7) | public Lists()

FILE: src/MainDemo.Wpf/MainWindow.xaml.cs
  class MainWindow (line 9) | public partial class MainWindow
    method MainWindow (line 12) | public MainWindow()
    method UIElement_OnPreviewMouseLeftButtonUp (line 57) | private void UIElement_OnPreviewMouseLeftButtonUp(object sender, Mouse...
    method MenuPopupButton_OnClick (line 71) | private async void MenuPopupButton_OnClick(object sender, RoutedEventA...
    method OnCopy (line 81) | private void OnCopy(object sender, ExecutedRoutedEventArgs e)
    method MenuToggleButton_OnClick (line 96) | private void MenuToggleButton_OnClick(object sender, RoutedEventArgs e)
    method MenuDarkModeButton_Click (line 99) | private void MenuDarkModeButton_Click(object sender, RoutedEventArgs e)
    method FlowDirectionButton_Click (line 102) | private void FlowDirectionButton_Click(object sender, RoutedEventArgs e)
    method ModifyTheme (line 107) | private static void ModifyTheme(bool isDarkTheme)
    method OnSelectedItemChanged (line 116) | private void OnSelectedItemChanged(object sender, DependencyPropertyCh...

FILE: src/MainDemo.Wpf/MenusAndToolBars.xaml.cs
  class MenusAndToolBars (line 5) | public partial class MenusAndToolBars
    method MenusAndToolBars (line 7) | public MenusAndToolBars() => InitializeComponent();
    method TwitterButton_OnClick (line 9) | private void TwitterButton_OnClick(object sender, RoutedEventArgs e)

FILE: src/MainDemo.Wpf/NavigationRail.xaml.cs
  class NavigationRail (line 3) | public partial class NavigationRail
    method NavigationRail (line 5) | public NavigationRail() => InitializeComponent();

FILE: src/MainDemo.Wpf/NumericUpDown.xaml.cs
  class NumericUpDown (line 3) | public partial class NumericUpDown : UserControl
    method NumericUpDown (line 5) | public NumericUpDown() => InitializeComponent();

FILE: src/MainDemo.Wpf/PackIconKindGroup.cs
  class PackIconKindGroup (line 3) | public class PackIconKindGroup
    method PackIconKindGroup (line 5) | public PackIconKindGroup(IEnumerable<string> kinds)

FILE: src/MainDemo.Wpf/Palette.xaml.cs
  class Palette (line 3) | public partial class Palette
    method Palette (line 5) | public Palette() => InitializeComponent();

FILE: src/MainDemo.Wpf/PaletteSelector.xaml.cs
  class PaletteSelector (line 5) | public partial class PaletteSelector
    method PaletteSelector (line 7) | public PaletteSelector()

FILE: src/MainDemo.Wpf/Pickers.xaml.cs
  class Pickers (line 8) | public partial class Pickers
    method Pickers (line 10) | public Pickers()
    method LocaleCombo_SelectionChanged (line 20) | private void LocaleCombo_SelectionChanged(object sender, SelectionChan...
    method LoadLocales (line 39) | private void LoadLocales()
    method CalendarDialogOpenedEventHandler (line 49) | public void CalendarDialogOpenedEventHandler(object sender, DialogOpen...
    method CalendarDialogClosingEventHandler (line 52) | public void CalendarDialogClosingEventHandler(object sender, DialogClo...
    method ClockDialogOpenedEventHandler (line 65) | public void ClockDialogOpenedEventHandler(object sender, DialogOpenedE...
    method ClockDialogClosingEventHandler (line 68) | public void ClockDialogClosingEventHandler(object sender, DialogClosin...
    method PresetTimePicker_SelectedTimeChanged (line 74) | private void PresetTimePicker_SelectedTimeChanged(object sender, Syste...
    method CombinedDialogOpenedEventHandler (line 82) | public void CombinedDialogOpenedEventHandler(object sender, DialogOpen...
    method CombinedDialogClosingEventHandler (line 88) | public void CombinedDialogClosingEventHandler(object sender, DialogClo...

FILE: src/MainDemo.Wpf/PopupBox.xaml.cs
  class PopupBox (line 11) | public partial class PopupBox : UserControl
    method PopupBox (line 19) | public PopupBox()
    method StyleComboBox_OnSelectionChanged (line 29) | private void StyleComboBox_OnSelectionChanged(object sender, Selection...
  class ComboBoxItemToDataTemplateConverter (line 44) | internal class ComboBoxItemToDataTemplateConverter : IValueConverter
    method Convert (line 46) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 49) | public object? ConvertBack(object? value, Type targetType, object? par...
  class ComboBoxItemToStyleConverter (line 53) | internal class ComboBoxItemToStyleConverter : IValueConverter
    method Convert (line 55) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 58) | public object? ConvertBack(object? value, Type targetType, object? par...
  class ComboBoxItemToHelperTextConverter (line 62) | internal class ComboBoxItemToHelperTextConverter : IValueConverter
    method Convert (line 64) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 67) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MainDemo.Wpf/Progress.xaml.cs
  class Progress (line 3) | public partial class Progress
    method Progress (line 5) | public Progress() => InitializeComponent();

FILE: src/MainDemo.Wpf/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: src/MainDemo.Wpf/Properties/Settings.Designer.cs
  class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

FILE: src/MainDemo.Wpf/RatingBar.xaml.cs
  class RatingBar (line 5) | public partial class RatingBar
    method RatingBar (line 7) | public RatingBar() => InitializeComponent();
    method BasicRatingBar_ValueChanged (line 9) | private void BasicRatingBar_ValueChanged(object sender, RoutedProperty...
    method BasicRatingBarFractional_ValueChanged (line 12) | private void BasicRatingBarFractional_ValueChanged(object sender, Rout...

FILE: src/MainDemo.Wpf/Sliders.xaml.cs
  class Sliders (line 5) | public partial class Sliders
    method Sliders (line 7) | public Sliders()

FILE: src/MainDemo.Wpf/SmartHint.xaml.cs
  class SmartHint (line 12) | public partial class SmartHint : UserControl
    method SetRichTextBoxText (line 17) | internal static void SetRichTextBoxText(DependencyObject element, obje...
    method GetRichTextBoxText (line 18) | internal static object GetRichTextBoxText(DependencyObject element) =>...
    method SmartHint (line 20) | public SmartHint()
    method HasErrors_OnToggled (line 26) | private void HasErrors_OnToggled(object sender, RoutedEventArgs e)
    method GetBinding (line 53) | private static BindingExpression? GetBinding(FrameworkElement element)
    method FindVisualChildren (line 70) | private static IEnumerable<T> FindVisualChildren<T>(DependencyObject? ...
  class CustomPaddingConverter (line 89) | internal class CustomPaddingConverter : IMultiValueConverter
    method Convert (line 91) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 99) | public object[] ConvertBack(object value, Type[] targetTypes, object p...
  class FontSizeConverter (line 103) | internal class FontSizeConverter : IValueConverter
    method Convert (line 105) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 111) | public object? ConvertBack(object? value, Type targetType, object? par...
  class OptionToStringConverter (line 115) | internal abstract class OptionToStringConverter<TOptionType> : IValueCon...
    method Convert (line 119) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 122) | public object? ConvertBack(object? value, Type targetType, object? par...
    method ToString (line 125) | protected abstract string ToString(TOptionType value, CultureInfo cult...
  class DoubleOptionToStringConverter (line 128) | internal class DoubleOptionToStringConverter : OptionToStringConverter<d...
    method ToString (line 130) | protected override string ToString(double value, CultureInfo culture) ...
  class PointOptionToStringConverter (line 133) | internal class PointOptionToStringConverter : OptionToStringConverter<Po...
    method ToString (line 135) | protected override string ToString(Point value, CultureInfo culture) =...
  class FontFamilyOptionToStringConverter (line 138) | internal class FontFamilyOptionToStringConverter : OptionToStringConvert...
    method ToString (line 140) | protected override string ToString(FontFamily value, CultureInfo cultu...

FILE: src/MainDemo.Wpf/Snackbars.xaml.cs
  class Snackbars (line 5) | public partial class Snackbars
    method Snackbars (line 7) | public Snackbars() => InitializeComponent();
    method SnackBar3_OnClick (line 9) | private void SnackBar3_OnClick(object sender, RoutedEventArgs e)
    method SnackBar4_OnClick (line 20) | private void SnackBar4_OnClick(object sender, RoutedEventArgs e)
    method SnackBar4_OnClearClick (line 37) | private void SnackBar4_OnClearClick(object sender, RoutedEventArgs e)
    method SnackBar7_OnClick (line 40) | private void SnackBar7_OnClick(object sender, RoutedEventArgs e)

FILE: src/MainDemo.Wpf/StatusBars.xaml.cs
  class StatusBars (line 3) | public partial class StatusBars
    method StatusBars (line 5) | public StatusBars() => InitializeComponent();

FILE: src/MainDemo.Wpf/Tabs.xaml.cs
  class Tabs (line 8) | public partial class Tabs
    method Tabs (line 10) | public Tabs()

FILE: src/MainDemo.Wpf/ThemeSettings.xaml.cs
  class ThemeSettings (line 5) | public partial class ThemeSettings
    method ThemeSettings (line 7) | public ThemeSettings()

FILE: src/MainDemo.Wpf/Toggles.xaml.cs
  class Toggles (line 3) | public partial class Toggles
    method Toggles (line 5) | public Toggles() => InitializeComponent();

FILE: src/MainDemo.Wpf/ToolTips.xaml.cs
  class ToolTips (line 8) | public partial class ToolTips : UserControl
    method ToolTips (line 10) | public ToolTips()

FILE: src/MainDemo.Wpf/Transitions.xaml.cs
  class Transitions (line 3) | public partial class Transitions
    method Transitions (line 5) | public Transitions() => InitializeComponent();

FILE: src/MainDemo.Wpf/TransitionsDemo/Slide1_Intro.xaml.cs
  class Slide1_Intro (line 9) | public partial class Slide1_Intro : UserControl
    method Slide1_Intro (line 11) | public Slide1_Intro()
    class Slide1ViewModel (line 17) | public class Slide1ViewModel : ViewModelBase

FILE: src/MainDemo.Wpf/TransitionsDemo/Slide2_Intro.xaml.cs
  class Slide2_Intro (line 6) | public partial class Slide2_Intro : UserControl
    method Slide2_Intro (line 8) | public Slide2_Intro()

FILE: src/MainDemo.Wpf/TransitionsDemo/Slide3_Intro.xaml.cs
  class Slide3_Intro (line 6) | public partial class Slide3_Intro : UserControl
    method Slide3_Intro (line 8) | public Slide3_Intro()

FILE: src/MainDemo.Wpf/TransitionsDemo/Slide4_CombineTransitions.xaml.cs
  class Slide4_CombineTransitions (line 6) | public partial class Slide4_CombineTransitions : UserControl
    method Slide4_CombineTransitions (line 8) | public Slide4_CombineTransitions()

FILE: src/MainDemo.Wpf/TransitionsDemo/Slide5_TransitioningContent.xaml.cs
  class Slide5_TransitioningContent (line 6) | public partial class Slide5_TransitioningContent : UserControl
    method Slide5_TransitioningContent (line 8) | public Slide5_TransitioningContent()

FILE: src/MainDemo.Wpf/TransitionsDemo/Slide6_Origins.xaml.cs
  class Slide6_Origins (line 6) | public partial class Slide6_Origins : UserControl
    method Slide6_Origins (line 8) | public Slide6_Origins()
    method FirstSlideButton_OnClick (line 13) | private void FirstSlideButton_OnClick(object sender, RoutedEventArgs e)
    method SecondSlideButton_OnClick (line 18) | private void SecondSlideButton_OnClick(object sender, RoutedEventArgs e)

FILE: src/MainDemo.Wpf/TransitionsDemo/Slide7_MVVM.xaml.cs
  class Slide7_MVVM (line 6) | public partial class Slide7_MVVM : UserControl
    method Slide7_MVVM (line 8) | public Slide7_MVVM()

FILE: src/MainDemo.Wpf/TransitionsDemo/Slide7_MasterModel.cs
  class Slide7_MasterModel (line 3) | public class Slide7_MasterModel
  class Slide8_DetailsModel (line 7) | public class Slide8_DetailsModel

FILE: src/MainDemo.Wpf/TransitionsDemo/Slide8_Details.xaml.cs
  class Slide8_Details (line 6) | public partial class Slide8_Details : UserControl
    method Slide8_Details (line 8) | public Slide8_Details()

FILE: src/MainDemo.Wpf/TransitionsDemo/TransitionsDemoHome.xaml.cs
  class TransitionsDemoHome (line 6) | public partial class TransitionsDemoHome : UserControl
    method TransitionsDemoHome (line 8) | public TransitionsDemoHome()

FILE: src/MainDemo.Wpf/Trees.xaml.cs
  class Trees (line 5) | public partial class Trees
    method Trees (line 9) | public Trees()
    method TreeView_SelectedItemChanged (line 21) | private void TreeView_SelectedItemChanged(object sender, RoutedPropert...

FILE: src/MainDemo.Wpf/Typography.xaml.cs
  class Typography (line 3) | public partial class Typography
    method Typography (line 5) | public Typography() => InitializeComponent();

FILE: src/MainDemo.Wpf/VisualTreeUtil.cs
  class VisualTreeUtil (line 5) | internal static class VisualTreeUtil
    method FindVisualParent (line 7) | private static T FindVisualParent<T>(UIElement element) where T : UIEl...
    method GetElementUnderMouse (line 21) | internal static T GetElementUnderMouse<T>() where T : UIElement? => Fi...

FILE: src/MainDemo.Wpf/XamlDisplayEx.cs
  class XamlDisplayEx (line 3) | public static class XamlDisplayEx
    method SetButtonDock (line 8) | public static void SetButtonDock(DependencyObject element, Dock value)
    method GetButtonDock (line 13) | public static Dock GetButtonDock(DependencyObject element)

FILE: src/MaterialDesign3.Demo.Wpf/App.xaml.cs
  class App (line 10) | public partial class App : Application
    method OnStartup (line 16) | protected override void OnStartup(StartupEventArgs e)

FILE: src/MaterialDesign3.Demo.Wpf/ButtonAssist.cs
  class ButtonAssist (line 3) | public static class ButtonAssist
    method OnUniformCornerRadius (line 8) | private static void OnUniformCornerRadius(DependencyObject d, Dependen...
    method SetUniformCornerRadius (line 11) | public static void SetUniformCornerRadius(DependencyObject element, do...
    method GetUniformCornerRadius (line 14) | public static double GetUniformCornerRadius(DependencyObject element)

FILE: src/MaterialDesign3.Demo.Wpf/Buttons.xaml.cs
  class Buttons (line 6) | public partial class Buttons
    method Buttons (line 8) | public Buttons()
    method ButtonBase_OnClick (line 14) | private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
    method PopupBox_OnOpened (line 17) | private void PopupBox_OnOpened(object sender, RoutedEventArgs e)
    method PopupBox_OnClosed (line 20) | private void PopupBox_OnClosed(object sender, RoutedEventArgs e)
    method CountingButton_OnClick (line 23) | private void CountingButton_OnClick(object sender, RoutedEventArgs e)

FILE: src/MaterialDesign3.Demo.Wpf/Cards.xaml.cs
  class Cards (line 3) | public partial class Cards
    method Cards (line 5) | public Cards() => InitializeComponent();
    method Flipper_OnIsFlippedChanged (line 7) | private void Flipper_OnIsFlippedChanged(object sender, RoutedPropertyC...

FILE: src/MaterialDesign3.Demo.Wpf/Chips.xaml.cs
  class Chips (line 3) | public partial class Chips
    method Chips (line 5) | public Chips() => InitializeComponent();
    method ButtonsDemoChip_OnClick (line 7) | private void ButtonsDemoChip_OnClick(object sender, RoutedEventArgs e)
    method ButtonsDemoChip_OnDeleteClick (line 10) | private void ButtonsDemoChip_OnDeleteClick(object sender, RoutedEventA...

FILE: src/MaterialDesign3.Demo.Wpf/ColorScheme.cs
  type ColorScheme (line 3) | enum ColorScheme

FILE: src/MaterialDesign3.Demo.Wpf/ColorTool.xaml.cs
  class ColorTool (line 5) | public partial class ColorTool
    method ColorTool (line 7) | public ColorTool()

FILE: src/MaterialDesign3.Demo.Wpf/ColorZones.xaml.cs
  class ColorZones (line 3) | public partial class ColorZones
    method ColorZones (line 5) | public ColorZones() => InitializeComponent();

FILE: src/MaterialDesign3.Demo.Wpf/ComboBoxes.xaml.cs
  class ComboBoxes (line 5) | public partial class ComboBoxes
    method ComboBoxes (line 7) | public ComboBoxes()
    method ClearFilledComboBox_Click (line 13) | private void ClearFilledComboBox_Click(object sender, System.Windows.R...
    method ClearOutlinedComboBox_Click (line 16) | private void ClearOutlinedComboBox_Click(object sender, System.Windows...

FILE: src/MaterialDesign3.Demo.Wpf/DataGrids.xaml.cs
  class DataGrids (line 5) | public partial class DataGrids
    method DataGrids (line 7) | public DataGrids()

FILE: src/MaterialDesign3.Demo.Wpf/Dialogs.xaml.cs
  class Dialogs (line 7) | public partial class Dialogs
    method Dialogs (line 9) | public Dialogs()
    method Sample1_DialogHost_OnDialogClosing (line 15) | private void Sample1_DialogHost_OnDialogClosing(object sender, DialogC...
    method Sample2_DialogHost_OnDialogClosing (line 30) | private void Sample2_DialogHost_OnDialogClosing(object sender, DialogC...
    method Sample5_DialogHost_OnDialogClosing (line 33) | private void Sample5_DialogHost_OnDialogClosing(object sender, DialogC...

FILE: src/MaterialDesign3.Demo.Wpf/Domain/AnotherCommandImplementation.cs
  class AnotherCommandImplementation (line 6) | public class AnotherCommandImplementation : ICommand
    method AnotherCommandImplementation (line 11) | public AnotherCommandImplementation(Action<object?> execute)
    method AnotherCommandImplementation (line 15) | public AnotherCommandImplementation(Action<object?> execute, Func<obje...
    method CanExecute (line 23) | public bool CanExecute(object? parameter) => _canExecute(parameter);
    method Execute (line 25) | public void Execute(object? parameter) => _execute(parameter);
    method Refresh (line 39) | public void Refresh() => CommandManager.InvalidateRequerySuggested();

FILE: src/MaterialDesign3.Demo.Wpf/Domain/DemoItem.cs
  class DemoItem (line 6) | public class DemoItem : ViewModelBase
    method DemoItem (line 18) | public DemoItem(string name, Type contentType, IEnumerable<Documentati...
    method CreateContent (line 65) | private object? CreateContent()
    method AddNewNotification (line 76) | public void AddNewNotification()
    method DismissAllNotifications (line 82) | public void DismissAllNotifications()

FILE: src/MaterialDesign3.Demo.Wpf/Domain/DialogsViewModel.cs
  class DialogsViewModel (line 7) | public class DialogsViewModel : ViewModelBase
    method DialogsViewModel (line 9) | public DialogsViewModel()
    method ExecuteRunDialog (line 23) | private async void ExecuteRunDialog(object? _)
    method ClosingEventHandler (line 38) | private void ClosingEventHandler(object sender, DialogClosingEventArgs...
    method ExecuteRunExtendedDialog (line 41) | private async void ExecuteRunExtendedDialog(object? _)
    method ExtendedOpenedEventHandler (line 56) | private void ExtendedOpenedEventHandler(object sender, DialogOpenedEve...
    method ExtendedClosingEventHandler (line 59) | private void ExtendedClosingEventHandler(object sender, DialogClosingE...
    method OpenSample4Dialog (line 101) | private void OpenSample4Dialog(object? _)
    method CancelSample4Dialog (line 107) | private void CancelSample4Dialog(object? _) => IsSample4DialogOpen = f...
    method AcceptSample4Dialog (line 109) | private void AcceptSample4Dialog(object? _)

FILE: src/MaterialDesign3.Demo.Wpf/Domain/DocumentationLink.cs
  class DocumentationLink (line 5) | public class DocumentationLink
    method DocumentationLink (line 7) | public DocumentationLink(DocumentationLinkType type, string url)
    method DocumentationLink (line 12) | public DocumentationLink(DocumentationLinkType type, string url, strin...
    method WikiLink (line 20) | public static DocumentationLink WikiLink(string page, string label)
    method StyleLink (line 26) | public static DocumentationLink StyleLink(string nameChunk, bool isMd3...
    method ApiLink (line 36) | public static DocumentationLink ApiLink<TClass>(string subNamespace)
    method ApiLink (line 47) | public static DocumentationLink ApiLink<TClass>()
    method ApiLink (line 50) | public static DocumentationLink ApiLink(Type type)
    method DemoPageLink (line 60) | public static DocumentationLink DemoPageLink<TDemoPage>()
    method DemoPageLink (line 63) | public static DocumentationLink DemoPageLink<TDemoPage>(string? label)
    method DemoPageLink (line 66) | public static DocumentationLink DemoPageLink<TDemoPage>(string? label,...
    method SpecsLink (line 79) | public static DocumentationLink SpecsLink(string url, string? label)
    method Execute (line 90) | private void Execute(object? _)

FILE: src/MaterialDesign3.Demo.Wpf/Domain/DocumentationLinkType.cs
  type DocumentationLinkType (line 3) | public enum DocumentationLinkType

FILE: src/MaterialDesign3.Demo.Wpf/Domain/DocumentationLinks.xaml.cs
  class DocumentationLinks (line 6) | public partial class DocumentationLinks : UserControl
    method DocumentationLinks (line 8) | public DocumentationLinks()

FILE: src/MaterialDesign3.Demo.Wpf/Domain/FieldsViewModel.cs
  class FieldsViewModel (line 5) | public class FieldsViewModel : ViewModelBase
  class FieldsTestObject (line 25) | public class FieldsTestObject : ViewModelBase

FILE: src/MaterialDesign3.Demo.Wpf/Domain/FutureDateValidationRule.cs
  class FutureDateValidationRule (line 5) | public class FutureDateValidationRule : ValidationRule
    method Validate (line 7) | public override ValidationResult Validate(object value, CultureInfo cu...

FILE: src/MaterialDesign3.Demo.Wpf/Domain/IconPackViewModel.cs
  class IconPackViewModel (line 10) | public class IconPackViewModel : ViewModelBase
    method IconPackViewModel (line 15) | public IconPackViewModel(ISnackbarMessageQueue snackbarMessageQueue)
    method ThemeManager_ThemeChanged (line 38) | private void ThemeManager_ThemeChanged(object? sender, ThemeChangedEve...
    method OpenDotCom (line 86) | private void OpenDotCom(object? _)
    method Search (line 89) | private async void Search(object? obj)
    method CopyToClipboard (line 104) | private void CopyToClipboard(object? obj)
    method SetDefaultIconColors (line 111) | private void SetDefaultIconColors()
    method OnSaveIcon (line 136) | private void OnSaveIcon(object? _)

FILE: src/MaterialDesign3.Demo.Wpf/Domain/IsCheckedValidationRule.cs
  class IsCheckedValidationRule (line 5) | public class IsCheckedValidationRule : ValidationRule
    method Validate (line 7) | public override ValidationResult Validate(object value, CultureInfo cu...

FILE: src/MaterialDesign3.Demo.Wpf/Domain/Link.cs
  class Link (line 6) | public static class Link
    method OpenInBrowser (line 8) | public static void OpenInBrowser(string? url)

FILE: src/MaterialDesign3.Demo.Wpf/Domain/ListsAndGridsViewModel.cs
  class ListsAndGridsViewModel (line 6) | public class ListsAndGridsViewModel : ViewModelBase
    method ListsAndGridsViewModel (line 8) | public ListsAndGridsViewModel()
    method SelectAll (line 41) | private static void SelectAll(bool select, IEnumerable<SelectableViewM...
    method CreateData (line 49) | private static ObservableCollection<SelectableViewModel> CreateData()

FILE: src/MaterialDesign3.Demo.Wpf/Domain/MainWindowViewModel.cs
  class MainWindowViewModel (line 11) | public class MainWindowViewModel : ViewModelBase
    method MainWindowViewModel (line 13) | public MainWindowViewModel(ISnackbarMessageQueue snackbarMessageQueue,...
    method GenerateDemoItems (line 126) | private static IEnumerable<DemoItem> GenerateDemoItems(ISnackbarMessag...
    method DemoItemsFilter (line 483) | private bool DemoItemsFilter(object obj)

FILE: src/MaterialDesign3.Demo.Wpf/Domain/NotEmptyValidationRule.cs
  class NotEmptyValidationRule (line 5) | public class NotEmptyValidationRule : ValidationRule
    method Validate (line 7) | public override ValidationResult Validate(object value, CultureInfo cu...

FILE: src/MaterialDesign3.Demo.Wpf/Domain/PaletteSelectorViewModel.cs
  class PaletteSelectorViewModel (line 7) | public class PaletteSelectorViewModel : ViewModelBase
    method PaletteSelectorViewModel (line 9) | public PaletteSelectorViewModel()
    method ApplyPrimary (line 18) | private static void ApplyPrimary(Swatch swatch)
    method ApplySecondary (line 23) | private static void ApplySecondary(Swatch swatch)
    method ModifyTheme (line 31) | private static void ModifyTheme(Action<Theme> modificationAction)

FILE: src/MaterialDesign3.Demo.Wpf/Domain/PickersViewModel.cs
  class PickersViewModel (line 5) | public class PickersViewModel : ViewModelBase
    method PickersViewModel (line 12) | public PickersViewModel()

FILE: src/MaterialDesign3.Demo.Wpf/Domain/Sample4Dialog.xaml.cs
  class Sample4Dialog (line 6) | public partial class Sample4Dialog : UserControl
    method Sample4Dialog (line 8) | public Sample4Dialog()

FILE: src/MaterialDesign3.Demo.Wpf/Domain/SampleDialog.xaml.cs
  class SampleDialog (line 6) | public partial class SampleDialog : UserControl
    method SampleDialog (line 8) | public SampleDialog()

FILE: src/MaterialDesign3.Demo.Wpf/Domain/SampleDialogViewModel.cs
  class SampleDialogViewModel (line 5) | public class SampleDialogViewModel : ViewModelBase

FILE: src/MaterialDesign3.Demo.Wpf/Domain/SampleItem.cs
  class SampleItem (line 6) | public class SampleItem : ViewModelBase

FILE: src/MaterialDesign3.Demo.Wpf/Domain/SampleMessageDialog.xaml.cs
  class SampleMessageDialog (line 6) | public partial class SampleMessageDialog : UserControl
    method SampleMessageDialog (line 8) | public SampleMessageDialog()

FILE: src/MaterialDesign3.Demo.Wpf/Domain/SampleProgressDialog.xaml.cs
  class SampleProgressDialog (line 6) | public partial class SampleProgressDialog : UserControl
    method SampleProgressDialog (line 8) | public SampleProgressDialog()

FILE: src/MaterialDesign3.Demo.Wpf/Domain/SelectableViewModel.cs
  class SelectableViewModel (line 5) | public class SelectableViewModel : ViewModelBase

FILE: src/MaterialDesign3.Demo.Wpf/Domain/SimpleDataTemplateSelector.cs
  class SimpleDataTemplateSelector (line 3) | public class SimpleDataTemplateSelector : DataTemplateSelector
    method SelectTemplate (line 7) | public override DataTemplate? SelectTemplate(object item, DependencyOb...

FILE: src/MaterialDesign3.Demo.Wpf/Domain/SimpleDateValidationRule.cs
  class SimpleDateValidationRule (line 5) | public class SimpleDateValidationRule : ValidationRule
    method Validate (line 7) | public override ValidationResult Validate(object value, CultureInfo cu...

FILE: src/MaterialDesign3.Demo.Wpf/Domain/SlidersViewModel.cs
  class SlidersViewModel (line 5) | public class SlidersViewModel : ViewModelBase
  class SliderViewModel (line 11) | public class SliderViewModel : ViewModelBase

FILE: src/MaterialDesign3.Demo.Wpf/Domain/ThemeSettingsViewModel.cs
  class ThemeSettingsViewModel (line 6) | public class ThemeSettingsViewModel : ViewModelBase
    method ThemeSettingsViewModel (line 8) | public ThemeSettingsViewModel()
    method ModifyTheme (line 128) | private static void ModifyTheme(Action<Theme> modificationAction)

FILE: src/MaterialDesign3.Demo.Wpf/Domain/TreesViewModel.cs
  class TreeExampleSimpleTemplateSelector (line 8) | public class TreeExampleSimpleTemplateSelector : DataTemplateSelector
    method SelectTemplate (line 14) | public override DataTemplate? SelectTemplate(object item, DependencyOb...
  class Movie (line 26) | public sealed class Movie
    method Movie (line 28) | public Movie(string name, string director)
  class Planet (line 39) | public class Planet
  class TestItem (line 50) | public class TestItem
    method TestItem (line 56) | public TestItem(string name, IEnumerable<TestItem> items)
  class MovieCategory (line 63) | public sealed class MovieCategory
    method MovieCategory (line 65) | public MovieCategory(string name, params Movie[] movies)
  class TreesViewModel (line 76) | public sealed class TreesViewModel : ViewModelBase
    method TreesViewModel (line 105) | public TreesViewModel()
    method GenerateString (line 215) | private static string GenerateString(int length)

FILE: src/MaterialDesign3.Demo.Wpf/Drawers.xaml.cs
  class Drawers (line 3) | public partial class Drawers
    method Drawers (line 5) | public Drawers() => InitializeComponent();

FILE: src/MaterialDesign3.Demo.Wpf/Elevation.xaml.cs
  class Elevation (line 3) | public partial class Elevation
    method Elevation (line 5) | public Elevation() => InitializeComponent();

FILE: src/MaterialDesign3.Demo.Wpf/Expander.xaml.cs
  class Expander (line 3) | public partial class Expander
    method Expander (line 5) | public Expander() => InitializeComponent();

FILE: src/MaterialDesign3.Demo.Wpf/Fields.xaml.cs
  class Fields (line 6) | public partial class Fields
    method Fields (line 8) | public Fields()
    method Hyperlink_OnRequestNavigate (line 14) | private void Hyperlink_OnRequestNavigate(object sender, RequestNavigat...

FILE: src/MaterialDesign3.Demo.Wpf/FieldsLineUp.xaml.cs
  class FieldsLineUp (line 7) | public partial class FieldsLineUp
    class ValidationErrorRule (line 11) | private class ValidationErrorRule : ValidationRule
      method Validate (line 13) | public override ValidationResult Validate(object value, CultureInfo ...
    method FieldsLineUp (line 21) | public FieldsLineUp()
    method UpdateThickness (line 61) | private void UpdateThickness(RangeBase slider, DependencyProperty prop...
    method SetValue (line 74) | private static void SetValue(Control control)

FILE: src/MaterialDesign3.Demo.Wpf/GroupBoxes.xaml.cs
  class GroupBoxes (line 3) | public partial class GroupBoxes
    method GroupBoxes (line 5) | public GroupBoxes() => InitializeComponent();

FILE: src/MaterialDesign3.Demo.Wpf/Home.xaml.cs
  class Home (line 6) | public partial class Home
    method Home (line 8) | public Home() => InitializeComponent();
    method GitHubButton_OnClick (line 10) | private void GitHubButton_OnClick(object sender, RoutedEventArgs e)
    method TwitterButton_OnClick (line 13) | private void TwitterButton_OnClick(object sender, RoutedEventArgs e)
    method ChatButton_OnClick (line 16) | private void ChatButton_OnClick(object sender, RoutedEventArgs e)
    method EmailButton_OnClick (line 19) | private void EmailButton_OnClick(object sender, RoutedEventArgs e)
    method DonateButton_OnClick (line 22) | private void DonateButton_OnClick(object sender, RoutedEventArgs e)

FILE: src/MaterialDesign3.Demo.Wpf/IconPack.xaml.cs
  class IconPack (line 3) | public partial class IconPack
    method IconPack (line 5) | public IconPack()
    method TextBox_OnGotFocus (line 10) | private void TextBox_OnGotFocus(object sender, RoutedEventArgs e)
    method Search_OnKeyDown (line 16) | private void Search_OnKeyDown(object sender, KeyEventArgs e)

FILE: src/MaterialDesign3.Demo.Wpf/Lists.xaml.cs
  class Lists (line 5) | public partial class Lists
    method Lists (line 7) | public Lists()

FILE: src/MaterialDesign3.Demo.Wpf/MainWindow.xaml.cs
  class MainWindow (line 10) | public partial class MainWindow
    method MainWindow (line 13) | public MainWindow()
    method UIElement_OnPreviewMouseLeftButtonUp (line 57) | private void UIElement_OnPreviewMouseLeftButtonUp(object sender, Mouse...
    method MenuPopupButton_OnClick (line 74) | private async void MenuPopupButton_OnClick(object sender, RoutedEventA...
    method OnCopy (line 84) | private void OnCopy(object sender, ExecutedRoutedEventArgs e)
    method MenuToggleButton_OnClick (line 99) | private void MenuToggleButton_OnClick(object sender, RoutedEventArgs e)
    method MenuDarkModeButton_Click (line 111) | private void MenuDarkModeButton_Click(object sender, RoutedEventArgs e)
    method FlowDirectionButton_Click (line 114) | private void FlowDirectionButton_Click(object sender, RoutedEventArgs e)
    method ModifyTheme (line 119) | private static void ModifyTheme(bool isDarkTheme)
    method OnSelectedItemChanged (line 128) | private void OnSelectedItemChanged(object sender, DependencyPropertyCh...
    method GitHubButton_OnClick (line 131) | private void GitHubButton_OnClick(object sender, RoutedEventArgs e)
    method Window_SizeChanged (line 134) | private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
    method MenuOpen_Click (line 168) | private void MenuOpen_Click(object sender, RoutedEventArgs e)
    method CloseNotificationPanel_Click (line 179) | private void CloseNotificationPanel_Click(object sender, RoutedEventAr...

FILE: src/MaterialDesign3.Demo.Wpf/MenusAndToolBars.xaml.cs
  class MenusAndToolBars (line 5) | public partial class MenusAndToolBars
    method MenusAndToolBars (line 7) | public MenusAndToolBars() => InitializeComponent();
    method TwitterButton_OnClick (line 9) | private void TwitterButton_OnClick(object sender, RoutedEventArgs e)

FILE: src/MaterialDesign3.Demo.Wpf/NavigationBar.xaml.cs
  class NavigationBar (line 9) | public partial class NavigationBar : UserControl
    method NavigationBar (line 12) | public NavigationBar()

FILE: src/MaterialDesign3.Demo.Wpf/NavigationRail.xaml.cs
  class NavigationRail (line 6) | public partial class NavigationRail
    method NavigationRail (line 11) | public NavigationRail()
    method Button_Click (line 58) | private void Button_Click(object sender, System.Windows.RoutedEventArg...
    method Button_Click_1 (line 61) | private void Button_Click_1(object sender, System.Windows.RoutedEventA...

FILE: src/MaterialDesign3.Demo.Wpf/PackIconKindGroup.cs
  class PackIconKindGroup (line 3) | public class PackIconKindGroup
    method PackIconKindGroup (line 5) | public PackIconKindGroup(IEnumerable<string> kinds)

FILE: src/MaterialDesign3.Demo.Wpf/Palette.xaml.cs
  class Palette (line 3) | public partial class Palette
    method Palette (line 5) | public Palette() => InitializeComponent();

FILE: src/MaterialDesign3.Demo.Wpf/PaletteHelperExtensions.cs
  class PaletteHelperExtensions (line 8) | public static class PaletteHelperExtensions
    method ChangePrimaryColor (line 10) | public static void ChangePrimaryColor(this PaletteHelper paletteHelper...
    method ChangeSecondaryColor (line 21) | public static void ChangeSecondaryColor(this PaletteHelper paletteHelp...

FILE: src/MaterialDesign3.Demo.Wpf/PaletteSelector.xaml.cs
  class PaletteSelector (line 5) | public partial class PaletteSelector
    method PaletteSelector (line 7) | public PaletteSelector()

FILE: src/MaterialDesign3.Demo.Wpf/Pickers.xaml.cs
  class Pickers (line 8) | public partial class Pickers
    method Pickers (line 10) | public Pickers()
    method LocaleCombo_SelectionChanged (line 20) | private void LocaleCombo_SelectionChanged(object sender, SelectionChan...
    method LoadLocales (line 39) | private void LoadLocales()
    method CalendarDialogOpenedEventHandler (line 49) | public void CalendarDialogOpenedEventHandler(object sender, DialogOpen...
    method CalendarDialogClosingEventHandler (line 52) | public void CalendarDialogClosingEventHandler(object sender, DialogClo...
    method ClockDialogOpenedEventHandler (line 65) | public void ClockDialogOpenedEventHandler(object sender, DialogOpenedE...
    method ClockDialogClosingEventHandler (line 68) | public void ClockDialogClosingEventHandler(object sender, DialogClosin...
    method PresetTimePicker_SelectedTimeChanged (line 74) | private void PresetTimePicker_SelectedTimeChanged(object sender, Syste...
    method CombinedDialogOpenedEventHandler (line 82) | public void CombinedDialogOpenedEventHandler(object sender, DialogOpen...
    method CombinedDialogClosingEventHandler (line 88) | public void CombinedDialogClosingEventHandler(object sender, DialogClo...

FILE: src/MaterialDesign3.Demo.Wpf/Progress.xaml.cs
  class Progress (line 3) | public partial class Progress
    method Progress (line 5) | public Progress() => InitializeComponent();

FILE: src/MaterialDesign3.Demo.Wpf/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: src/MaterialDesign3.Demo.Wpf/Properties/Settings.Designer.cs
  class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

FILE: src/MaterialDesign3.Demo.Wpf/RatingBar.xaml.cs
  class RatingBar (line 5) | public partial class RatingBar
    method RatingBar (line 7) | public RatingBar() => InitializeComponent();
    method BasicRatingBar_ValueChanged (line 9) | private void BasicRatingBar_ValueChanged(object sender, RoutedProperty...

FILE: src/MaterialDesign3.Demo.Wpf/Sliders.xaml.cs
  class Sliders (line 5) | public partial class Sliders
    method Sliders (line 7) | public Sliders()

FILE: src/MaterialDesign3.Demo.Wpf/Snackbars.xaml.cs
  class Snackbars (line 5) | public partial class Snackbars
    method Snackbars (line 7) | public Snackbars() => InitializeComponent();
    method SnackBar3_OnClick (line 9) | private void SnackBar3_OnClick(object sender, RoutedEventArgs e)
    method SnackBar4_OnClick (line 20) | private void SnackBar4_OnClick(object sender, RoutedEventArgs e)
    method SnackBar4_OnClearClick (line 37) | private void SnackBar4_OnClearClick(object sender, RoutedEventArgs e)
    method SnackBar7_OnClick (line 40) | private void SnackBar7_OnClick(object sender, RoutedEventArgs e)

FILE: src/MaterialDesign3.Demo.Wpf/ThemeSettings.xaml.cs
  class ThemeSettings (line 5) | public partial class ThemeSettings
    method ThemeSettings (line 7) | public ThemeSettings()

FILE: src/MaterialDesign3.Demo.Wpf/Toggles.xaml.cs
  class Toggles (line 3) | public partial class Toggles
    method Toggles (line 5) | public Toggles() => InitializeComponent();

FILE: src/MaterialDesign3.Demo.Wpf/ToolTips.xaml.cs
  class ToolTips (line 6) | public partial class ToolTips : UserControl
    method ToolTips (line 8) | public ToolTips()

FILE: src/MaterialDesign3.Demo.Wpf/Transitions.xaml.cs
  class Transitions (line 3) | public partial class Transitions
    method Transitions (line 5) | public Transitions() => InitializeComponent();

FILE: src/MaterialDesign3.Demo.Wpf/TransitionsDemo/Slide1_Intro.xaml.cs
  class Slide1_Intro (line 9) | public partial class Slide1_Intro : UserControl
    method Slide1_Intro (line 11) | public Slide1_Intro()
    class Slide1ViewModel (line 17) | public class Slide1ViewModel : ViewModelBase

FILE: src/MaterialDesign3.Demo.Wpf/TransitionsDemo/Slide2_Intro.xaml.cs
  class Slide2_Intro (line 6) | public partial class Slide2_Intro : UserControl
    method Slide2_Intro (line 8) | public Slide2_Intro()

FILE: src/MaterialDesign3.Demo.Wpf/TransitionsDemo/Slide3_Intro.xaml.cs
  class Slide3_Intro (line 6) | public partial class Slide3_Intro : UserControl
    method Slide3_Intro (line 8) | public Slide3_Intro()

FILE: src/MaterialDesign3.Demo.Wpf/TransitionsDemo/Slide4_CombineTransitions.xaml.cs
  class Slide4_CombineTransitions (line 6) | public partial class Slide4_CombineTransitions : UserControl
    method Slide4_CombineTransitions (line 8) | public Slide4_CombineTransitions()

FILE: src/MaterialDesign3.Demo.Wpf/TransitionsDemo/Slide5_TransitioningContent.xaml.cs
  class Slide5_TransitioningContent (line 6) | public partial class Slide5_TransitioningContent : UserControl
    method Slide5_TransitioningContent (line 8) | public Slide5_TransitioningContent()

FILE: src/MaterialDesign3.Demo.Wpf/TransitionsDemo/Slide6_Origins.xaml.cs
  class Slide6_Origins (line 6) | public partial class Slide6_Origins : UserControl
    method Slide6_Origins (line 8) | public Slide6_Origins()
    method FirstSlideButton_OnClick (line 13) | private void FirstSlideButton_OnClick(object sender, RoutedEventArgs e)
    method SecondSlideButton_OnClick (line 18) | private void SecondSlideButton_OnClick(object sender, RoutedEventArgs e)

FILE: src/MaterialDesign3.Demo.Wpf/TransitionsDemo/Slide7_MVVM.xaml.cs
  class Slide7_MVVM (line 6) | public partial class Slide7_MVVM : UserControl
    method Slide7_MVVM (line 8) | public Slide7_MVVM()

FILE: src/MaterialDesign3.Demo.Wpf/TransitionsDemo/Slide7_MasterModel.cs
  class Slide7_MasterModel (line 3) | public class Slide7_MasterModel
  class Slide8_DetailsModel (line 7) | public class Slide8_DetailsModel

FILE: src/MaterialDesign3.Demo.Wpf/TransitionsDemo/Slide8_Details.xaml.cs
  class Slide8_Details (line 6) | public partial class Slide8_Details : UserControl
    method Slide8_Details (line 8) | public Slide8_Details()

FILE: src/MaterialDesign3.Demo.Wpf/TransitionsDemo/TransitionsDemoHome.xaml.cs
  class TransitionsDemoHome (line 6) | public partial class TransitionsDemoHome : UserControl
    method TransitionsDemoHome (line 8) | public TransitionsDemoHome()

FILE: src/MaterialDesign3.Demo.Wpf/Trees.xaml.cs
  class Trees (line 5) | public partial class Trees
    method Trees (line 9) | public Trees()
    method TreeView_SelectedItemChanged (line 21) | private void TreeView_SelectedItemChanged(object sender, RoutedPropert...

FILE: src/MaterialDesign3.Demo.Wpf/Typography.xaml.cs
  class Typography (line 3) | public partial class Typography
    method Typography (line 5) | public Typography() => InitializeComponent();

FILE: src/MaterialDesign3.Demo.Wpf/XamlDisplayEx.cs
  class XamlDisplayEx (line 3) | public static class XamlDisplayEx
    method SetButtonDock (line 8) | public static void SetButtonDock(DependencyObject element, Dock value)
    method GetButtonDock (line 13) | public static Dock GetButtonDock(DependencyObject element)

FILE: src/MaterialDesign3.MaterialColorUtilities/Blend/Blend.cs
  class Blend (line 9) | public static class Blend
    method Harmonize (line 21) | public static int Harmonize(int designColor, int sourceColor)
    method HctHue (line 42) | public static int HctHue(int from, int to, double amount)
    method Cam16Ucs (line 60) | public static int Cam16Ucs(int from, int to, double amount)

FILE: src/MaterialDesign3.MaterialColorUtilities/Contrast/Contrast.cs
  class Contrast (line 14) | public static class Contrast
    method RatioOfYs (line 75) | public static double RatioOfYs(double y1, double y2)
    method RatioOfTones (line 97) | public static double RatioOfTones(double toneA, double toneB)
    method Lighter (line 110) | public static double Lighter(double tone, double ratio)
    method LighterUnsafe (line 145) | public static double LighterUnsafe(double tone, double ratio)
    method Darker (line 157) | public static double Darker(double tone, double ratio)
    method DarkerUnsafe (line 191) | public static double DarkerUnsafe(double tone, double ratio)

FILE: src/MaterialDesign3.MaterialColorUtilities/Dislike/DislikeAnalyzer.cs
  class DislikeAnalyzer (line 14) | public static class DislikeAnalyzer
    method IsDisliked (line 21) | public static bool IsDisliked(Hct hct)
    method FixIfDisliked (line 37) | public static Hct FixIfDisliked(Hct hct)

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/ColorSpec.cs
  type ColorSpec (line 3) | public interface ColorSpec
    method HighestSurface (line 93) | DynamicColor HighestSurface(DynamicScheme s);
    method GetHct (line 96) | Hct GetHct(DynamicScheme scheme, DynamicColor color);
    method GetTone (line 97) | double GetTone(DynamicScheme scheme, DynamicColor color);
    method GetPrimaryPalette (line 100) | TonalPalette GetPrimaryPalette(Variant variant, Hct sourceColorHct, bo...
    method GetSecondaryPalette (line 101) | TonalPalette GetSecondaryPalette(Variant variant, Hct sourceColorHct, ...
    method GetTertiaryPalette (line 102) | TonalPalette GetTertiaryPalette(Variant variant, Hct sourceColorHct, b...
    method GetNeutralPalette (line 103) | TonalPalette GetNeutralPalette(Variant variant, Hct sourceColorHct, bo...
    method GetNeutralVariantPalette (line 104) | TonalPalette GetNeutralVariantPalette(Variant variant, Hct sourceColor...
    method GetErrorPalette (line 105) | TonalPalette? GetErrorPalette(Variant variant, Hct sourceColorHct, boo...

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/ColorSpec2021.cs
  class ColorSpec2021 (line 3) | public class ColorSpec2021 : ColorSpec
    method HighestSurface (line 552) | public DynamicColor HighestSurface(DynamicScheme s) => s.IsDark ? Surf...
    method IsFidelity (line 554) | private static bool IsFidelity(DynamicScheme scheme) => scheme.Variant...
    method IsMonochrome (line 555) | private static bool IsMonochrome(DynamicScheme scheme) => scheme.Varia...
    method FindDesiredChromaByTone (line 557) | private static double FindDesiredChromaByTone(double hue, double chrom...
    method GetHct (line 589) | public Hct GetHct(DynamicScheme scheme, DynamicColor color)
    method GetTone (line 595) | public double GetTone(DynamicScheme scheme, DynamicColor color)
    method GetPrimaryPalette (line 751) | public TonalPalette GetPrimaryPalette(Variant variant, Hct sourceColor...
    method GetSecondaryPalette (line 767) | public TonalPalette GetSecondaryPalette(Variant variant, Hct sourceCol...
    method GetTertiaryPalette (line 793) | public TonalPalette GetTertiaryPalette(Variant variant, Hct sourceColo...
    method GetNeutralPalette (line 819) | public TonalPalette GetNeutralPalette(Variant variant, Hct sourceColor...
    method GetNeutralVariantPalette (line 835) | public TonalPalette GetNeutralVariantPalette(Variant variant, Hct sour...
    method GetErrorPalette (line 851) | public TonalPalette? GetErrorPalette(Variant variant, Hct sourceColorH...

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/ColorSpec2025.cs
  class ColorSpec2025 (line 3) | public class ColorSpec2025 : ColorSpec2021
    method FindBestToneForChroma (line 1163) | private static double FindBestToneForChroma(double hue, double chroma,...
    method TMaxC (line 1181) | private static double TMaxC(TonalPalette palette) => TMaxC(palette, 0,...
    method TMaxC (line 1183) | private static double TMaxC(TonalPalette palette, double lowerBound, d...
    method TMaxC (line 1185) | private static double TMaxC(TonalPalette palette, double lowerBound, d...
    method TMinC (line 1191) | private static double TMinC(TonalPalette palette) => TMinC(palette, 0,...
    method TMinC (line 1193) | private static double TMinC(TonalPalette palette, double lowerBound, d...
    method GetContrastCurve (line 1199) | private static ContrastCurve GetContrastCurve(double @default)
    method GetHct (line 1213) | public new Hct GetHct(DynamicScheme scheme, DynamicColor color)
    method GetTone (line 1223) | public new double GetTone(DynamicScheme scheme, DynamicColor color)
    method GetPrimaryPalette (line 1360) | public new TonalPalette GetPrimaryPalette(Variant variant, Hct sourceC...
    method GetSecondaryPalette (line 1374) | public new TonalPalette GetSecondaryPalette(Variant variant, Hct sourc...
    method GetTertiaryPalette (line 1396) | public new TonalPalette GetTertiaryPalette(Variant variant, Hct source...
    method GetNeutralPalette (line 1428) | public new TonalPalette GetNeutralPalette(Variant variant, Hct sourceC...
    method GetNeutralVariantPalette (line 1440) | public new TonalPalette GetNeutralVariantPalette(Variant variant, Hct ...
    method GetErrorPalette (line 1463) | public new TonalPalette? GetErrorPalette(Variant variant, Hct sourceCo...
    method GetExpressiveNeutralHue (line 1479) | private static double GetExpressiveNeutralHue(Hct sourceColorHct)
    method GetExpressiveNeutralChroma (line 1487) | private static double GetExpressiveNeutralChroma(Hct sourceColorHct, b...
    method GetVibrantNeutralHue (line 1493) | private static double GetVibrantNeutralHue(Hct sourceColorHct)
    method GetVibrantNeutralChroma (line 1501) | private static double GetVibrantNeutralChroma(Hct sourceColorHct, Plat...

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/ColorSpecs.cs
  class ColorSpecs (line 3) | public static class ColorSpecs
    method Get (line 8) | public static ColorSpec Get() => Get(SpecVersion.Spec2021);
    method Get (line 10) | public static ColorSpec Get(SpecVersion specVersion) => specVersion ==...

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/ContrastCurve.cs
  type ContrastCurve (line 5) | public record ContrastCurve(double Low, double Normal, double Medium, do...

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/DeltaConstraint.cs
  type DeltaConstraint (line 3) | public enum DeltaConstraint

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/DynamicColor.cs
  class DynamicColor (line 5) | public sealed class DynamicColor
    method DynamicColor (line 20) | public DynamicColor(
    method DynamicColor (line 43) | public DynamicColor(
    method DynamicColor (line 67) | public DynamicColor(
    method FromPalette (line 91) | public static DynamicColor FromPalette(
    method FromPalette (line 107) | public static DynamicColor FromPalette(
    method FromArgb (line 124) | public static DynamicColor FromArgb(string name, int argb)
    method GetArgb (line 131) | public int GetArgb(DynamicScheme scheme)
    method GetColor (line 143) | public System.Windows.Media.Color GetColor(DynamicScheme scheme)
    method GetHct (line 146) | public Hct GetHct(DynamicScheme scheme)
    method GetTone (line 161) | public double GetTone(DynamicScheme scheme) => ColorSpecs.Get(scheme.S...
    method ForegroundTone (line 163) | public static double ForegroundTone(double bgTone, double ratio)
    method EnableLightForeground (line 190) | public static double EnableLightForeground(double tone)
    method TonePrefersLightForeground (line 199) | public static bool TonePrefersLightForeground(double tone) => Round(to...
    method ToneAllowsLightForeground (line 201) | public static bool ToneAllowsLightForeground(double tone) => Round(ton...
    method GetInitialToneFromBackground (line 203) | public static Func<DynamicScheme, double> GetInitialToneFromBackground(
    method ToBuilder (line 218) | public Builder ToBuilder()
    class Builder (line 233) | public sealed class Builder
      method SetName (line 246) | public Builder SetName(string name) { _name = name; return this; }
      method SetPalette (line 247) | public Builder SetPalette(Func<DynamicScheme, TonalPalette> palette)...
      method SetTone (line 248) | public Builder SetTone(Func<DynamicScheme, double> tone) { _tone = t...
      method SetIsBackground (line 249) | public Builder SetIsBackground(bool isBackground) { _isBackground = ...
      method SetChromaMultiplier (line 250) | public Builder SetChromaMultiplier(Func<DynamicScheme, double> chrom...
      method SetBackground (line 251) | public Builder SetBackground(Func<DynamicScheme, DynamicColor> backg...
      method SetSecondBackground (line 252) | public Builder SetSecondBackground(Func<DynamicScheme, DynamicColor>...
      method SetContrastCurve (line 253) | public Builder SetContrastCurve(Func<DynamicScheme, ContrastCurve> c...
      method SetToneDeltaPair (line 254) | public Builder SetToneDeltaPair(Func<DynamicScheme, ToneDeltaPair> t...
      method SetOpacity (line 255) | public Builder SetOpacity(Func<DynamicScheme, double> opacity) { _op...
      method ExtendSpecVersion (line 257) | public Builder ExtendSpecVersion(SpecVersion specVersion, DynamicCol...
      method Build (line 285) | public DynamicColor Build()
      method ValidateExtendedColor (line 314) | private void ValidateExtendedColor(SpecVersion specVersion, DynamicC...

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/DynamicScheme.cs
  class DynamicScheme (line 5) | public class DynamicScheme
    method DynamicScheme (line 26) | public DynamicScheme() => throw new NotImplementedException();
    method DynamicScheme (line 28) | public DynamicScheme(
    method DynamicScheme (line 54) | public DynamicScheme(
    method DynamicScheme (line 81) | public DynamicScheme(
    method From (line 111) | public static DynamicScheme From(DynamicScheme other, bool isDark) => ...
    method From (line 113) | public static DynamicScheme From(DynamicScheme other, bool isDark, dou...
    method GetPiecewiseValue (line 130) | public static double GetPiecewiseValue(Hct sourceColorHct, double[] hu...
    method GetRotatedHue (line 149) | public static double GetRotatedHue(Hct sourceColorHct, double[] hueBre...
    method GetHct (line 164) | public Hct GetHct(DynamicColor dynamicColor) => dynamicColor.GetHct(th...
    method GetArgb (line 166) | public int GetArgb(DynamicColor dynamicColor) => dynamicColor.GetArgb(...
    method ToString (line 168) | public override string ToString()

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/MaterialDynamicColors.cs
  class MaterialDynamicColors (line 3) | public sealed class MaterialDynamicColors
    method HighestSurface (line 7) | public DynamicColor HighestSurface(DynamicScheme s) => colorSpec.Highe...
    method AllDynamicColors (line 97) | public IEnumerable<DynamicColor> AllDynamicColors()

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/Platform.cs
  type Platform (line 3) | public enum Platform

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/SpecVersion.cs
  type SpecVersion (line 3) | public enum SpecVersion

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/ToneDeltaPair.cs
  class ToneDeltaPair (line 3) | public sealed class ToneDeltaPair
    method ToneDeltaPair (line 12) | public ToneDeltaPair(DynamicColor roleA, DynamicColor roleB, double de...
    method ToneDeltaPair (line 22) | public ToneDeltaPair(DynamicColor roleA, DynamicColor roleB, double de...

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/TonePolarity.cs
  type TonePolarity (line 3) | public enum TonePolarity

FILE: src/MaterialDesign3.MaterialColorUtilities/DynamicColor/Variant.cs
  type Variant (line 3) | public enum Variant

FILE: src/MaterialDesign3.MaterialColorUtilities/Hct/Cam16.cs
  class Cam16 (line 9) | public sealed class Cam16
    method Distance (line 50) | public double Distance(Cam16 other)
    method GetHue (line 63) | public double GetHue() => Hue;
    method GetChroma (line 68) | public double GetChroma() => Chroma;
    method GetJ (line 73) | public double GetJ() => J;
    method GetQ (line 78) | public double GetQ() => Q;
    method GetM (line 83) | public double GetM() => M;
    method GetS (line 88) | public double GetS() => S;
    method GetJstar (line 93) | public double GetJstar() => Jstar;
    method GetAstar (line 98) | public double GetAstar() => Astar;
    method GetBstar (line 103) | public double GetBstar() => Bstar;
    method Cam16 (line 108) | private Cam16(
    method FromInt (line 133) | public static Cam16 FromInt(int argb) => FromIntInViewingConditions(ar...
    method FromIntInViewingConditions (line 138) | internal static Cam16 FromIntInViewingConditions(int argb, ViewingCond...
    method FromXyzInViewingConditions (line 154) | internal static Cam16 FromXyzInViewingConditions(
    method FromJch (line 235) | internal static Cam16 FromJch(double j, double c, double h) => FromJch...
    method FromJchInViewingConditions (line 240) | private static Cam16 FromJchInViewingConditions(double j, double c, do...
    method FromUcs (line 264) | public static Cam16 FromUcs(double jstar, double astar, double bstar) ...
    method FromUcsInViewingConditions (line 269) | public static Cam16 FromUcsInViewingConditions(double jstar, double as...
    method ToInt (line 286) | public int ToInt() => Viewed(ViewingConditions.DEFAULT);
    method Viewed (line 291) | internal int Viewed(ViewingConditions viewingConditions)
    method XyzInViewingConditions (line 297) | public double[] XyzInViewingConditions(ViewingConditions viewingCondit...

FILE: src/MaterialDesign3.MaterialColorUtilities/Hct/Hct.cs
  class Hct (line 10) | public sealed class Hct
    method From (line 20) | public static Hct From(double hue, double chroma, double tone)
    method FromInt (line 29) | public static Hct FromInt(int argb) => new(argb);
    method Hct (line 31) | private Hct(int argb) => SetInternalState(argb);
    method SetHue (line 37) | public void SetHue(double newHue) => SetInternalState(HctSolver.SolveT...
    method SetChroma (line 43) | public void SetChroma(double newChroma) => SetInternalState(HctSolver....
    method SetTone (line 49) | public void SetTone(double newTone) => SetInternalState(HctSolver.Solv...
    method ToString (line 51) | public override string ToString() => $"HCT({(int)Round(Hue)}, {(int)Ro...
    method IsBlue (line 53) | public static bool IsBlue(double hue) => hue is >= 250 and < 270;
    method IsYellow (line 55) | public static bool IsYellow(double hue) => hue is >= 105 and < 125;
    method IsCyan (line 57) | public static bool IsCyan(double hue) => hue is >= 170 and < 207;
    method InViewingConditions (line 62) | public Hct InViewingConditions(ViewingConditions vc)
    method SetInternalState (line 78) | private void SetInternalState(int argb)

FILE: src/MaterialDesign3.MaterialColorUtilities/Hct/HctSolver.cs
  class HctSolver (line 8) | public static class HctSolver
    method SanitizeRadians (line 97) | internal static double SanitizeRadians(double angle) => (angle + PI * ...
    method TrueDelinearized (line 99) | internal static double TrueDelinearized(double rgbComponent)
    method ChromaticAdaptation (line 114) | internal static double ChromaticAdaptation(double component)
    method HueOf (line 123) | internal static double HueOf(double[] linrgb)
    method AreInCyclicOrder (line 134) | internal static bool AreInCyclicOrder(double a, double b, double c)
    method Intercept (line 144) | internal static double Intercept(double source, double mid, double tar...
    method LerpPoint (line 146) | internal static double[] LerpPoint(double[] source, double t, double[]...
    method SetCoordinate (line 158) | internal static double[] SetCoordinate(double[] source, double coordin...
    method IsBounded (line 164) | internal static bool IsBounded(double x) => 0.0 <= x && x <= 100.0;
    method NthVertex (line 169) | internal static double[] NthVertex(double y, int n)
    method BisectToSegment (line 223) | internal static double[][] BisectToSegment(double y, double targetHue)
    method Midpoint (line 266) | internal static double[] Midpoint(double[] a, double[] b) => [(a[0] + ...
    method CriticalPlaneBelow (line 268) | internal static int CriticalPlaneBelow(double x) => (int)Floor(x - 0.5);
    method CriticalPlaneAbove (line 270) | internal static int CriticalPlaneAbove(double x) => (int)Ceiling(x - 0...
    method BisectToLimit (line 275) | internal static double[] BisectToLimit(double y, double targetHue)
    method InverseChromaticAdaptation (line 327) | internal static double InverseChromaticAdaptation(double adapted)
    method FindResultByJ (line 337) | internal static int FindResultByJ(double hueRadians, double chroma, do...
    method SolveToInt (line 397) | public static int SolveToInt(double hueDegrees, double chroma, double ...
    method SolveToCam (line 418) | public static Cam16 SolveToCam(double hueDegrees, double chroma, doubl...

FILE: src/MaterialDesign3.MaterialColorUtilities/Hct/ViewingConditions.cs
  class ViewingConditions (line 11) | public sealed class ViewingConditions
    method Make (line 33) | public static ViewingConditions Make(
    method DefaultWithBackgroundLstar (line 98) | public static ViewingConditions DefaultWithBackgroundLstar(double lstar)
    method ViewingConditions (line 111) | private ViewingConditions(

FILE: src/MaterialDesign3.MaterialColorUtilities/Palettes/CorePalette.cs
  class CorePalette (line 8) | [Obsolete("Use DynamicScheme for color scheme generation. Use CorePalett...
    method Of (line 21) | [Obsolete("Use DynamicScheme for color scheme generation. Use CorePale...
    method ContentOf (line 27) | [Obsolete("Use DynamicScheme for color scheme generation. Use CorePale...
    method CorePalette (line 30) | private CorePalette(int argb, bool isContent)

FILE: src/MaterialDesign3.MaterialColorUtilities/Palettes/CorePalettes.cs
  type CorePalettes (line 7) | public record CorePalettes(

FILE: src/MaterialDesign3.MaterialColorUtilities/Palettes/TonalPalette.cs
  class TonalPalette (line 9) | public sealed class TonalPalette
    method FromInt (line 19) | public static TonalPalette FromInt(int argb) => FromHct(Hct.FromInt(ar...
    method FromHct (line 24) | public static TonalPalette FromHct(Hct hct) => new(hct.Hue, hct.Chroma...
    method FromHueAndChroma (line 29) | public static TonalPalette FromHueAndChroma(double hue, double chroma)
    method TonalPalette (line 35) | private TonalPalette(double hue, double chroma, Hct keyColor)
    method Tone (line 45) | public int Tone(int tone)
    method GetHct (line 67) | public Hct GetHct(double tone) => Hct.From(_hue, _chroma, tone);
    method GetChroma (line 70) | public double GetChroma() => _chroma;
    method GetHue (line 73) | public double GetHue() => _hue;
    method GetKeyColor (line 76) | public Hct GetKeyColor() => _keyColor;
    method AverageArgb (line 78) | private static int AverageArgb(int argb1, int argb2)
    class KeyColor (line 95) | private sealed class KeyColor
      method KeyColor (line 102) | public KeyColor(double hue, double requestedChroma)
      method Create (line 108) | public Hct Create()
      method MaxChroma (line 152) | private double MaxChroma(int tone)

FILE: src/MaterialDesign3.MaterialColorUtilities/Quantize/PointProvider.cs
  type PointProvider (line 3) | public interface PointProvider
    method FromInt (line 6) | double[] FromInt(int argb);
    method ToInt (line 9) | int ToInt(double[] point);
    method Distance (line 12) | double Distance(double[] a, double[] b);

FILE: src/MaterialDesign3.MaterialColorUtilities/Quantize/PointProviderLab.cs
  class PointProviderLab (line 7) | public sealed class PointProviderLab: PointProvider
    method FromInt (line 14) | public double[] FromInt(int argb)
    method ToInt (line 25) | public int ToInt(double[] lab) => ColorUtils.ArgbFromLab(lab[0], lab[1...
    method Distance (line 35) | public double Distance(double[] one, double[] two)

FILE: src/MaterialDesign3.MaterialColorUtilities/Quantize/Quantizer.cs
  type Quantizer (line 3) | public interface Quantizer
    method Quantize (line 5) | QuantizerResult Quantize(int[] pixels, int maxColors);

FILE: src/MaterialDesign3.MaterialColorUtilities/Quantize/QuantizerCelebi.cs
  class QuantizerCelebi (line 3) | public sealed class QuantizerCelebi
    method QuantizerCelebi (line 5) | private QuantizerCelebi() { }
    method Quantize (line 7) | public static Dictionary<int, int> Quantize(int[] pixels, int maxColors)

FILE: src/MaterialDesign3.MaterialColorUtilities/Quantize/QuantizerMap.cs
  class QuantizerMap (line 3) | public sealed class QuantizerMap: Quantizer
    method Quantize (line 7) | public QuantizerResult Quantize(int[] pixels, int colorCount)

FILE: src/MaterialDesign3.MaterialColorUtilities/Quantize/QuantizerResult.cs
  type QuantizerResult (line 3) | public record QuantizerResult(Dictionary<int, int> ColorToCount);

FILE: src/MaterialDesign3.MaterialColorUtilities/Quantize/QuantizerWsmeans.cs
  class QuantizerWsMeans (line 5) | public static class QuantizerWsMeans
    class Distance (line 7) | private sealed class Distance : IComparable<Distance>
      method CompareTo (line 11) | public int CompareTo(Distance? other)
    method Quantize (line 21) | public static Dictionary<int, int> Quantize(int[] inputPixels, int[] s...

FILE: src/MaterialDesign3.MaterialColorUtilities/Quantize/QuantizerWu.cs
  class QuantizerWu (line 3) | public sealed class QuantizerWu: Quantizer
    method Quantize (line 17) | public QuantizerResult Quantize(int[] pixels, int colorCount)
    method GetIndex (line 32) | private static int GetIndex(int r, int g, int b) => (r << (INDEX_BITS ...
    method ConstructHistogram (line 34) | private void ConstructHistogram(Dictionary<int, int> pixels)
    method CreateMoments (line 62) | private void CreateMoments()
    method CreateBoxes (line 105) | private CreateBoxesResult CreateBoxes(int maxColorCount)
    method CreateResult (line 150) | private List<int> CreateResult(int colorCount)
    method Variance (line 169) | private double Variance(Box cube)
    method Cut (line 189) | private bool Cut(Box one, Box two)
    method Maximize (line 252) | private MaximizeResult Maximize(
    method Volume (line 305) | private static int Volume(Box cube, int[] moment)
    method Bottom (line 317) | private static int Bottom(Box cube, Direction direction, int[] moment)
    method Top (line 339) | private static int Top(Box cube, Direction direction, int position, in...
    type Direction (line 361) | private enum Direction { RED, GREEN, BLUE }
    class MaximizeResult (line 363) | private sealed class MaximizeResult
      method MaximizeResult (line 367) | public MaximizeResult(int cut, double max)
    class CreateBoxesResult (line 374) | private sealed class CreateBoxesResult
      method CreateBoxesResult (line 378) | public CreateBoxesResult(int requestedCount, int resultCount)
    class Box (line 385) | private sealed class Box

FILE: src/MaterialDesign3.MaterialColorUtilities/Scheme/DynamicSchemeFactory.cs
  class DynamicSchemeFactory (line 8) | public static class DynamicSchemeFactory
    method Create (line 17) | public static DynamicScheme Create(

FILE: src/MaterialDesign3.MaterialColorUtilities/Scheme/Scheme.cs
  type Scheme (line 6) | public record Scheme(

FILE: src/MaterialDesign3.MaterialColorUtilities/Scheme/SchemeContent.cs
  class SchemeContent (line 3) | public class SchemeContent: DynamicScheme
    method SchemeContent (line 5) | public SchemeContent(Hct sourceColorHct, bool isDark, double contrastL...
    method SchemeContent (line 10) | public SchemeContent(

FILE: src/MaterialDesign3.MaterialColorUtilities/Scheme/SchemeExpressive.cs
  class SchemeExpressive (line 3) | public class SchemeExpressive: DynamicScheme
    method SchemeExpressive (line 5) | public SchemeExpressive(Hct sourceColorHct, bool isDark, double contra...
    method SchemeExpressive (line 10) | public SchemeExpressive(

FILE: src/MaterialDesign3.MaterialColorUtilities/Scheme/SchemeFidelity.cs
  class SchemeFidelity (line 3) | public class SchemeFidelity: DynamicScheme
    method SchemeFidelity (line 5) | public SchemeFidelity(Hct sourceColorHct, bool isDark, double contrast...
    method SchemeFidelity (line 10) | public SchemeFidelity(

FILE: src/MaterialDesign3.MaterialColorUtilities/Scheme/SchemeFruitSalad.cs
  class SchemeFruitSalad (line 3) | public class SchemeFruitSalad: DynamicScheme
    method SchemeFruitSalad (line 5) | public SchemeFruitSalad(Hct sourceColorHct, bool isDark, double contra...
    method SchemeFruitSalad (line 10) | public SchemeFruitSalad(

FILE: src/MaterialDesign3.MaterialColorUtilities/Scheme/SchemeMonochrome.cs
  class SchemeMonochrome (line 3) | public class SchemeMonochrome: DynamicScheme
    method SchemeMonochrome (line 5) | public SchemeMonochrome(Hct sourceColorHct, bool isDark, double contra...
    method SchemeMonochrome (line 10) | public SchemeMonochrome(

FILE: src/MaterialDesign3.MaterialColorUtilities/Scheme/SchemeNeutral.cs
  class SchemeNeutral (line 3) | public class SchemeNeutral: DynamicScheme
    method SchemeNeutral (line 5) | public SchemeNeutral(Hct sourceColorHct, bool isDark, double contrastL...
    method SchemeNeutral (line 10) | public SchemeNeutral(

FILE: src/MaterialDesign3.MaterialColorUtilities/Scheme/SchemeRainbow.cs
  class SchemeRainbow (line 3) | public class SchemeRainbow: DynamicScheme
    method SchemeRainbow (line 5) | public SchemeRainbow(Hct sourceColorHct, bool isDark, double contrastL...
    method SchemeRainbow (line 10) | public SchemeRainbow(

FILE: src/MaterialDesign3.MaterialColorUtilities/Scheme/SchemeTonalSpot.cs
  class SchemeTonalSpot (line 3) | public class SchemeTonalSpot: DynamicScheme
    method SchemeTonalSpot (line 5) | public SchemeTonalSpot(Hct sourceColorHct, bool isDark, double contras...
    method SchemeTonalSpot (line 10) | public SchemeTonalSpot(

FILE: src/MaterialDesign3.MaterialColorUtilities/Scheme/SchemeVibrant.cs
  class SchemeVibrant (line 3) | public class SchemeVibrant: DynamicScheme
    method SchemeVibrant (line 5) | public SchemeVibrant(Hct sourceColorHct, bool isDark, double contrastL...
    method SchemeVibrant (line 10) | public SchemeVibrant(

FILE: src/MaterialDesign3.MaterialColorUtilities/Score/Score.cs
  class Score (line 6) | public static class Score
    method ScoreColors (line 26) | public static IEnumerable<int> ScoreColors(
    type ScoredHct (line 116) | private record ScoredHct(Hct Hct, double Score);
    class ScoredComparator (line 118) | private sealed class ScoredComparator : IComparer<ScoredHct>
      method Compare (line 120) | public int Compare(ScoredHct? x, ScoredHct? y)

FILE: src/MaterialDesign3.MaterialColorUtilities/Temperature/TemperatureCache.cs
  class TemperatureCache (line 9) | public sealed class TemperatureCache
    method TemperatureCache (line 21) | public TemperatureCache(Hct input) => this.input = input;
    method GetComplement (line 26) | public Hct GetComplement()
    method GetAnalogousColors (line 70) | public List<Hct> GetAnalogousColors() => GetAnalogousColors(5, 12);
    method GetAnalogousColors (line 77) | public List<Hct> GetAnalogousColors(int count, int divisions)
    method GetRelativeTemperature (line 176) | public double GetRelativeTemperature(Hct hct)
    method RawTemperature (line 191) | public static double RawTemperature(Hct color)
    method GetColdest (line 202) | private Hct GetColdest() => GetHctsByTemp()[0];
    method GetHctsByHue (line 207) | private List<Hct> GetHctsByHue()
    method GetHctsByTemp (line 226) | private List<Hct> GetHctsByTemp()
    method GetTempsByHct (line 246) | private Dictionary<Hct, double> GetTempsByHct()
    method GetWarmest (line 272) | private Hct GetWarmest()
    method IsBetween (line 281) | private static bool IsBetween(double angle, double a, double b)

FILE: src/MaterialDesign3.MaterialColorUtilities/Utils/ColorUtils.cs
  class ColorUtils (line 6) | public static class ColorUtils
    method ArgbFromRgb (line 27) | public static int ArgbFromRgb(int red, int green, int blue) => (255 <<...
    method ColorFromArgb (line 32) | public static System.Windows.Media.Color ColorFromArgb(int argb) =>
    method ArgbFromColor (line 42) | public static int ArgbFromColor(System.Windows.Media.Color color) =>
    method ArgbFromLinrgb (line 48) | public static int ArgbFromLinrgb(double[] linrgb)
    method AlphaFromArgb (line 59) | public static int AlphaFromArgb(int argb) => (argb >> 24) & 255;
    method RedFromArgb (line 64) | public static int RedFromArgb(int argb) => (argb >> 16) & 255;
    method GreenFromArgb (line 69) | public static int GreenFromArgb(int argb) => (argb >> 8) & 255;
    method BlueFromArgb (line 74) | public static int BlueFromArgb(int argb) => argb & 255;
    method IsOpaque (line 79) | public static bool IsOpaque(int argb) => AlphaFromArgb(argb) >= 255;
    method ArgbFromXyz (line 84) | public static int ArgbFromXyz(double x, double y, double z)
    method XyzFromArgb (line 99) | public static double[] XyzFromArgb(int argb)
    method ArgbFromLab (line 110) | public static int ArgbFromLab(double l, double a, double b)
    method LabFromArgb (line 127) | public static double[] LabFromArgb(int argb)
    method ArgbFromLstar (line 151) | public static int ArgbFromLstar(double lstar)
    method LstarFromArgb (line 161) | public static double LstarFromArgb(int argb)
    method YFromLstar (line 170) | public static double YFromLstar(double lstar) => 100.0 * LabInvf((lsta...
    method LstarFromY (line 175) | public static double LstarFromY(double y) => LabF(y / 100.0) * 116.0 -...
    method Linearized (line 180) | public static double Linearized(int rgbComponent)
    method Delinearized (line 194) | public static int Delinearized(double rgbComponent)
    method WhitePointD65 (line 212) | public static double[] WhitePointD65() => WHITE_POINT_D65;
    method LabF (line 214) | internal static double LabF(double t)
    method LabInvf (line 226) | internal static double LabInvf(double ft)

FILE: src/MaterialDesign3.MaterialColorUtilities/Utils/MathUtils.cs
  class MathUtils (line 6) | public static class MathUtils
    method Signum (line 11) | public static int Signum(double num)
    method Lerp (line 21) | public static double Lerp(double start, double stop, double amount) =>...
    method ClampInt (line 26) | public static int ClampInt(int min, int max, int input)
    method ClampDouble (line 36) | public static double ClampDouble(double min, double max, double input)
    method SanitizeDegreesInt (line 46) | public static int SanitizeDegreesInt(int degrees)
    method SanitizeDegreesDouble (line 56) | public static double SanitizeDegreesDouble(double degrees)
    method RotationDirection (line 66) | public static double RotationDirection(double from, double to)
    method DifferenceDegrees (line 75) | public static double DifferenceDegrees(double a, double b) => 180.0 - ...
    method MatrixMultiply (line 80) | public static double[] MatrixMultiply(double[] row, double[][] matrix)
    method Hypot (line 93) | public static double Hypot(double x, double y)
    method Expm1 (line 107) | public static double Expm1(double x)
    method Log1p (line 122) | public static double Log1p(double x)
    method Cbrt (line 141) | public static double Cbrt(double x) => x < 0 ? -Math.Pow(-x, 1.0 / 3.0...
    method Clamp (line 143) | public static double Clamp(double min, double max, double value)

FILE: src/MaterialDesign3.MaterialColorUtilities/Utils/StringUtils.cs
  class StringUtils (line 6) | public static class StringUtils
    method HexFromArgb (line 11) | public static string HexFromArgb(int argb)

FILE: src/MaterialDesign3.Motion/AnimationEndReason.cs
  type AnimationEndReason (line 6) | public enum AnimationEndReason

FILE: src/MaterialDesign3.Motion/AnimationParameters.cs
  class AnimationParameters (line 6) | public sealed class AnimationParameters

FILE: src/MaterialDesign3.Motion/AnimationSpec.cs
  class AnimationSpec (line 6) | public sealed class AnimationSpec

FILE: src/MaterialDesign3.Motion/AnimationVector.cs
  class AnimationVector (line 9) | public abstract class AnimationVector
    method Reset (line 11) | internal abstract void Reset();
    method NewVector (line 13) | internal abstract AnimationVector NewVector();
    method GetValue (line 15) | internal abstract float GetValue(int index);
    method SetValue (line 17) | internal abstract void SetValue(int index, float value);

FILE: src/MaterialDesign3.Motion/AnimationVector1D.cs
  class AnimationVector1D (line 6) | public sealed class AnimationVector1D : AnimationVector
    method AnimationVector1D (line 8) | public AnimationVector1D()
    method AnimationVector1D (line 13) | public AnimationVector1D(float value)
    method Reset (line 20) | internal override void Reset() => Value = 0f;
    method NewVector (line 22) | internal override AnimationVector NewVector() => new AnimationVector1D...
    method GetValue (line 24) | internal override float GetValue(int index) => index == 0 ? Value : 0f;
    method SetValue (line 26) | internal override void SetValue(int index, float value)
    method ToString (line 36) | public override string ToString() => $"AnimationVector1D(Value = {Valu...
    method Equals (line 38) | public override bool Equals(object? obj) =>
    method GetHashCode (line 41) | public override int GetHashCode() => Value.GetHashCode();

FILE: src/MaterialDesign3.Motion/AnimationVector2D.cs
  class AnimationVector2D (line 6) | public sealed class AnimationVector2D : AnimationVector
    method AnimationVector2D (line 8) | public AnimationVector2D()
    method AnimationVector2D (line 13) | public AnimationVector2D(float v1, float v2)
    method Reset (line 23) | internal override void Reset()
    method NewVector (line 29) | internal override AnimationVector NewVector() => new AnimationVector2D...
    method GetValue (line 31) | internal override float GetValue(int index) => index switch
    method SetValue (line 38) | internal override void SetValue(int index, float value)
    method ToString (line 53) | public override string ToString() => $"AnimationVector2D(V1 = {V1}, V2...
    method Equals (line 55) | public override bool Equals(object? obj) =>
    method GetHashCode (line 58) | public override int GetHashCode() => HashCode.Combine(V1, V2);

FILE: src/MaterialDesign3.Motion/AnimationVector3D.cs
  class AnimationVector3D (line 6) | public sealed class AnimationVector3D : AnimationVector
    method AnimationVector3D (line 8) | public AnimationVector3D()
    method AnimationVector3D (line 13) | public AnimationVector3D(float v1, float v2, float v3)
    method Reset (line 26) | internal override void Reset()
    method NewVector (line 33) | internal override AnimationVector NewVector() => new AnimationVector3D...
    method GetValue (line 35) | internal override float GetValue(int index) => index switch
    method SetValue (line 43) | internal override void SetValue(int index, float value)
    method ToString (line 61) | public override string ToString() => $"AnimationVector3D(V1 = {V1}, V2...
    method Equals (line 63) | public override bool Equals(object? obj) =>
    method GetHashCode (line 69) | public override int GetHashCode() => HashCode.Combine(V1, V2, V3);

FILE: src/MaterialDesign3.Motion/AnimationVector4D.cs
  class AnimationVector4D (line 6) | public sealed class AnimationVector4D : AnimationVector
    method AnimationVector4D (line 8) | public AnimationVector4D()
    method AnimationVector4D (line 13) | public AnimationVector4D(float v1, float v2, float v3, float v4)
    method Reset (line 29) | internal override void Reset()
    method NewVector (line 37) | internal override AnimationVector NewVector() => new AnimationVector4D...
    method GetValue (line 39) | internal override float GetValue(int index) => index switch
    method SetValue (line 48) | internal override void SetValue(int index, float value)
    method ToString (line 69) | public override string ToString() => $"AnimationVector4D(V1 = {V1}, V2...
    method Equals (line 71) | public override bool Equals(object? obj) =>
    method GetHashCode (line 78) | public override int GetHashCode() => HashCode.Combine(V1, V2, V3, V4);

FILE: src/MaterialDesign3.Motion/AnimationVectorExtensions.cs
  class AnimationVectorExtensions (line 3) | internal static class AnimationVectorExtensions
    method NewInstance (line 5) | public static T NewInstance<T>(this T vector)
    method Copy (line 16) | public static T Copy<T>(this T vector)
    method CopyFrom (line 33) | public static void CopyFrom<T>(this T vector, T source)

FILE: src/MaterialDesign3.Motion/AnimationVectorFactory.cs
  class AnimationVectorFactory (line 3) | public static class AnimationVectorFactory
    method Create (line 5) | public static AnimationVector1D Create(float v1) => new(v1);
    method Create (line 7) | public static AnimationVector2D Create(float v1, float v2) => new(v1, ...
    method Create (line 9) | public static AnimationVector3D Create(float v1, float v2, float v3) =...
    method Create (line 11) | public static AnimationVector4D Create(float v1, float v2, float v3, f...

FILE: src/MaterialDesign3.Motion/ArcSpline.cs
  class ArcSpline (line 6) | internal sealed class ArcSpline
    method ArcSpline (line 21) | public ArcSpline(int[] arcModes, float[] timePoints, float[][] y)
    method GetPos (line 82) | public void GetPos(float time, float[] values) => GetPos(time, values,...
    method GetPos (line 84) | public void GetPos(float time, float[] values, int offset)
    method GetSlope (line 178) | public void GetSlope(float time, float[] slope)
    method GetSlope (line 220) | public float GetSlope(float time, int component)
    class Arc (line 253) | private sealed class Arc
      method Arc (line 294) | public Arc(int mode, float time1, float time2, float x1, float y1, f...
      method SetPoint (line 341) | public void SetPoint(float time)
      method CalcAngle (line 348) | private float CalcAngle(float time)
      method CalcX (line 354) | public float CalcX() => EllipseCenterX + EllipseA * _tmpSinAngle;
      method CalcY (line 356) | public float CalcY() => EllipseCenterY + EllipseB * _tmpCosAngle;
      method CalcDx (line 358) | public float CalcDx()
      method CalcDy (line 366) | public float CalcDy()
      method GetLinearX (line 374) | public float GetLinearX(float time)
      method GetLinearY (line 380) | public float GetLinearY(float time)
      method Lookup (line 386) | private float Lookup(float v)
      method BuildTable (line 399) | private void BuildTable(float x1, float y1, float x2, float y2)
      method Hypot (line 453) | private static float Hypot(float x, float y)
    method ToRadians (line 485) | internal static double ToRadians(double value) => value * Math.PI / 18...
    method BinarySearch (line 491) | internal static int BinarySearch(float[] array, float position)

FILE: src/MaterialDesign3.Motion/CubicBezierEasing.cs
  type CubicBezierEasing (line 27) | public record CubicBezierEasing(float X1, float Y1, float X2, float Y2);

FILE: src/MaterialDesign3.Motion/Easing.cs
  type Easing (line 11) | public record Easing(CubicBezierEasing? CubicBezier);

FILE: src/MaterialDesign3.Motion/Hermite.cs
  class Hermite (line 3) | internal static class Hermite
    method Interpolate (line 5) | public static float Interpolate(float h, float x, float y1, float y2, ...
    method Differential (line 12) | public static float Differential(float h, float x, float y1, float y2,...

FILE: src/MaterialDesign3.Motion/IMotionScheme.cs
  type IMotionScheme (line 6) | public interface IMotionScheme

FILE: src/MaterialDesign3.Motion/ITwoWayConverter.cs
  type ITwoWayConverter (line 8) | public interface ITwoWayConverter<T, TAnimationVector>

FILE: src/MaterialDesign3.Motion/MonoSpline.cs
  class MonoSpline (line 3) | internal sealed class MonoSpline
    method MonoSpline (line 9) | public MonoSpline(float[] time, float[][] y, float periodicBias)
    method GetPos (line 70) | public float GetPos(float time, int component)
    method GetPos (line 104) | public void GetPos(float time, AnimationVector vector, int index = 0)
    method GetSlope (line 134) | public float GetSlope(float time, int component)
    method GetSlope (line 155) | public void GetSlope(float time, float[] slope)
    method GetSlope (line 185) | public void GetSlope(float time, AnimationVector vector, int index = 0)
    method MakeFloatArray (line 234) | private static float[][] MakeFloatArray(int count, int dimension)
    method Clamp (line 245) | private static float Clamp(float value, float min, float max)

FILE: src/MaterialDesign3.Motion/Motion.cs
  type Motion (line 3) | internal readonly record struct Motion(float Value, float Velocity);

FILE: src/MaterialDesign3.Motion/MotionSchemeContext.cs
  class MotionSchemeContext (line 6) | public static class MotionSchemeContext

FILE: src/MaterialDesign3.Motion/MotionSchemeExtensions.cs
  class MotionSchemeExtensions (line 3) | public static class MotionSchemeExtensions
    method RememberDefaultSpatialSpec (line 5) | public static SpringMotionSpec RememberDefaultSpatialSpec(this IMotion...
    method RememberFastSpatialSpec (line 6) | public static SpringMotionSpec RememberFastSpatialSpec(this IMotionSch...
    method RememberSlowSpatialSpec (line 7) | public static SpringMotionSpec RememberSlowSpatialSpec(this IMotionSch...
    method RememberDefaultEffectsSpec (line 8) | public static SpringMotionSpec RememberDefaultEffectsSpec(this IMotion...
    method RememberFastEffectsSpec (line 9) | public static SpringMotionSpec RememberFastEffectsSpec(this IMotionSch...
    method RememberSlowEffectsSpec (line 10) | public static SpringMotionSpec RememberSlowEffectsSpec(this IMotionSch...
    method FromToken (line 12) | internal static SpringMotionSpec FromToken(this IMotionScheme scheme, ...

FILE: src/MaterialDesign3.Motion/MotionSchemeKeyTokenExtensions.cs
  class MotionSchemeKeyTokenExtensions (line 3) | internal static class MotionSchemeKeyTokenExtensions
    method Value (line 5) | internal static SpringMotionSpec Value(this MotionSchemeKeyTokens toke...
    method Value (line 8) | internal static SpringMotionSpec Value(

FILE: src/MaterialDesign3.Motion/MotionSchemeKeyTokens.cs
  type MotionSchemeKeyTokens (line 3) | public enum MotionSchemeKeyTokens

FILE: src/MaterialDesign3.Motion/MotionSchemes.cs
  class MotionSchemes (line 6) | public static class MotionSchemes
    method Standard (line 8) | public static IMotionScheme Standard() => new DelegateMotionScheme(
    method Expressive (line 16) | public static IMotionScheme Expressive() => new DelegateMotionScheme(
    class DelegateMotionScheme (line 24) | private sealed class DelegateMotionScheme : IMotionScheme
      method DelegateMotionScheme (line 26) | public DelegateMotionScheme(

FILE: src/MaterialDesign3.Motion/MotionTokens.cs
  class MotionTokens (line 3) | public static class MotionTokens

FILE: src/MaterialDesign3.Motion/Preconditions.cs
  class Preconditions (line 3) | internal static class Preconditions
    method ThrowIllegalArgumentException (line 5) | internal static void ThrowIllegalArgumentException(string message) =>
    method RequirePrecondition (line 8) | internal static void RequirePrecondition(bool value, Func<string> lazy...
    method ThrowIllegalStateException (line 18) | internal static void ThrowIllegalStateException(string message) =>
    method ThrowIllegalStateExceptionForNullCheck (line 21) | internal static void ThrowIllegalStateExceptionForNullCheck(string mes...
    method CheckPreconditionNotNull (line 24) | internal static T CheckPreconditionNotNull<T>(T? value, Func<string> l...
    method CheckPrecondition (line 35) | internal static void CheckPrecondition(bool value, Func<string> lazyMe...

FILE: src/MaterialDesign3.Motion/RepeatMode.cs
  type RepeatMode (line 6) | public enum RepeatMode

FILE: src/MaterialDesign3.Motion/Repeatable.cs
  class Repeatable (line 6) | public sealed class Repeatable

FILE: src/MaterialDesign3.Motion/SpringConstants.cs
  class SpringConstants (line 6) | public static class SpringConstants

FILE: src/MaterialDesign3.Motion/SpringEstimation.cs
  class SpringEstimation (line 3) | internal static class SpringEstimation
    method EstimateAnimationDuration (line 5) | public static TimeSpan EstimateAnimationDuration(float stiffness, floa...
    method EstimateAnimationDuration (line 20) | public static TimeSpan EstimateAnimationDuration(double stiffness, dou...
    method EstimateAnimationDuration (line 42) | public static TimeSpan EstimateAnimationDuration(double springConstant...
    method EstimateUnderDamped (line 66) | private static double EstimateUnderDamped(double firstRootReal, double...
    method EstimateCriticallyDamped (line 76) | private static double EstimateCriticallyDamped(double firstRootReal, d...
    method EstimateOverDamped (line 145) | private static double EstimateOverDamped(double firstRootReal, double ...
    method EstimateDurationInternal (line 203) | private static TimeSpan EstimateDurationInternal(double firstRootReal,...
    method IterateNewtonsMethod (line 228) | private static double IterateNewtonsMethod(double x, Func<double, doub...
    method IsNotFinite (line 235) | private static bool IsNotFinite(this double value) => double.IsNaN(val...
    method IsFinite (line 237) | private static bool IsFinite(this double value) => !double.IsNaN(value...
    method EvaluateOverDampedPosition (line 239) | private static double EvaluateOverDampedPosition(double c1, double c2,...

FILE: src/MaterialDesign3.Motion/SpringMotionSpec.cs
  type SpringMotionSpec (line 8) | public record class SpringMotionSpec(double DampingRatio, double Stiffne...

FILE: src/MaterialDesign3.Motion/SpringSimulation.cs
  class SpringSimulation (line 3) | internal sealed class SpringSimulation
    method SpringSimulation (line 9) | public SpringSimulation(float finalPosition)
    method GetAcceleration (line 48) | public float GetAcceleration(float lastDisplacement, float lastVelocity)
    method UpdateValues (line 58) | internal Motion UpdateValues(float lastDisplacement, float lastVelocit...

FILE: src/MaterialDesign3.Motion/TwoWayConverter.cs
  class TwoWayConverter (line 3) | public static class TwoWayConverter
    method Create (line 5) | public static ITwoWayConverter<T, V> Create<T, V>(Func<T, V> convertTo...
    class TwoWayConverterImpl (line 16) | private sealed class TwoWayConverterImpl<T, V> : ITwoWayConverter<T, V>
      method TwoWayConverterImpl (line 19) | public TwoWayConverterImpl(Func<T, V> convertToVector, Func<V, T> co...

FILE: src/MaterialDesign3.Motion/VectorConverters.cs
  class VectorConverters (line 3) | internal static class VectorConverters
    method Lerp (line 5) | public static float Lerp(float start, float stop, float fraction) =>

FILE: src/MaterialDesignColors.Wpf/ColorManipulation/ColorAssist.cs
  class ColorAssist (line 5) | public static class ColorAssist
    method RelativeLuminance (line 21) | public static float RelativeLuminance(this Color color)
    method ContrastRatio (line 41) | public static float ContrastRatio(this Color color, Color color2)
    method EnsureContrastRatio (line 62) | public static Color EnsureContrastRatio(this Color foreground, Color b...
    method EnsureContrastRatio (line 74) | public static Color EnsureContrastRatio(this Color foreground, Color b...
    method ContrastingForegroundColor (line 155) | public static Color ContrastingForegroundColor(this Color color)
    method IsLightColor (line 158) | public static bool IsLightColor(this Color color)
    method IsDarkColor (line 175) | public static bool IsDarkColor(this Color color)
    method ShiftLightness (line 178) | public static Color ShiftLightness(this Color color, double amount = 1...
    method ShiftLightness (line 185) | public static Color ShiftLightness(this Color color, int amount = 1)
    method Darken (line 192) | public static Color Darken(this Color color, int amount = 1)
    method Lighten (line 195) | public static Color Lighten(this Color color, int amount = 1)

FILE: src/MaterialDesignColors.Wpf/ColorManipulation/Hsb.cs
  type Hsb (line 3) | public record struct Hsb(double Hue, double Saturation, double Brightness);

FILE: src/MaterialDesignColors.Wpf/ColorManipulation/HsbExtensions.cs
  class HsbExtensions (line 5) | public static class HsbExtensions
    method ToColor (line 7) | public static Color ToColor(this Hsb hsv)
    method ToHsb (line 41) | public static Hsb ToHsb(this Color color)
    method IsCloseTo (line 85) | private static bool IsCloseTo(this double value, double target, double...

FILE: src/MaterialDesignColors.Wpf/ColorManipulation/Hsl.cs
  type Hsl (line 3) | internal record struct Hsl(double H, double S, double L);

FILE: src/MaterialDesignColors.Wpf/ColorManipulation/HslExtensions.cs
  class HslExtensions (line 5) | internal static class HslExtensions
    method ToColor (line 7) | public static Color ToColor(this Hsl hsl)

FILE: src/MaterialDesignColors.Wpf/ColorManipulation/Lab.cs
  type Lab (line 3) | internal record struct Lab(double L, double A, double B);
  class LabConstants (line 5) | internal class LabConstants

FILE: src/MaterialDesignColors.Wpf/ColorManipulation/LabExtensions.cs
  class LabExtensions (line 5) | internal static class LabExtensions
    method ToLab (line 7) | public static Lab ToLab(this Color c)
    method ToLab (line 10) | public static Lab ToLab(this Xyz xyz)
    method ToColor (line 30) | public static Color ToColor(this Lab lab)

FILE: src/MaterialDesignColors.Wpf/ColorManipulation/Xyz.cs
  type Xyz (line 3) | internal record struct Xyz(double X, double Y, double Z);

FILE: src/MaterialDesignColors.Wpf/ColorManipulation/XyzExtensions.cs
  class XyzExtensions (line 5) | internal static class XyzExtensions
    method ToColor (line 7) | public static Color ToColor(this Xyz xyz)
    method ToXyz (line 29) | public static Xyz ToXyz(this Color c)
    method ToXyz (line 50) | public static Xyz ToXyz(this Lab lab)

FILE: src/MaterialDesignColors.Wpf/ColorPair.cs
  type ColorPair (line 7) | [DebuggerDisplay($"Color: {{{nameof(Color)}}}; Foreground: {{{nameof(For...
    method ColorPair (line 16) | public ColorPair(Color color)
    method GetForegroundColor (line 20) | public Color GetForegroundColor() => ForegroundColor ?? Color.Contrast...

FILE: src/MaterialDesignColors.Wpf/Hue.cs
  class Hue (line 5) | public class Hue
    method Hue (line 7) | public Hue(string name, Color color, Color foreground)
    method ToString (line 22) | public override string ToString() => Name;

FILE: src/MaterialDesignColors.Wpf/ISwatch.cs
  type ISwatch (line 5) | public interface ISwatch

FILE: src/MaterialDesignColors.Wpf/MaterialDesignColor.cs
  type PrimaryColor (line 3) | public enum PrimaryColor
  type SecondaryColor (line 27) | public enum SecondaryColor
  type MaterialDesignColor (line 48) | public enum MaterialDesignColor

FILE: src/MaterialDesignColors.Wpf/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: src/MaterialDesignColors.Wpf/Properties/Settings.Designer.cs
  class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

FILE: src/MaterialDesignColors.Wpf/Recommended/AmberSwatch.cs
  class AmberSwatch (line 4) | public class AmberSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/BlueGreySwatch.cs
  class BlueGreySwatch (line 4) | public class BlueGreySwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/BlueSwatch.cs
  class BlueSwatch (line 4) | public class BlueSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/BrownSwatch.cs
  class BrownSwatch (line 4) | public class BrownSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/CyanSwatch.cs
  class CyanSwatch (line 4) | public class CyanSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/DeepOrangeSwatch.cs
  class DeepOrangeSwatch (line 4) | public class DeepOrangeSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/DeepPurpleSwatch.cs
  class DeepPurpleSwatch (line 4) | public class DeepPurpleSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/GreenSwatch.cs
  class GreenSwatch (line 4) | public class GreenSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/GreySwatch.cs
  class GreySwatch (line 4) | public class GreySwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/IndigoSwatch.cs
  class IndigoSwatch (line 4) | public class IndigoSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/LightBlueSwatch.cs
  class LightBlueSwatch (line 4) | public class LightBlueSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/LightGreenSwatch.cs
  class LightGreenSwatch (line 4) | public class LightGreenSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/LimeSwatch.cs
  class LimeSwatch (line 4) | public class LimeSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/OrangeSwatch.cs
  class OrangeSwatch (line 4) | public class OrangeSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/PinkSwatch.cs
  class PinkSwatch (line 4) | public class PinkSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/PurpleSwatch.cs
  class PurpleSwatch (line 4) | public class PurpleSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/RedSwatch.cs
  class RedSwatch (line 4) | public class RedSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/TealSwatch.cs
  class TealSwatch (line 4) | public class TealSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/Recommended/YellowSwatch.cs
  class YellowSwatch (line 4) | public class YellowSwatch : ISwatch

FILE: src/MaterialDesignColors.Wpf/StaticResourceExtension.cs
  class StaticResourceExtension (line 7) | [MarkupExtensionReturnType(typeof(object))]
    method StaticResourceExtension (line 11) | public StaticResourceExtension()
    method StaticResourceExtension (line 15) | public StaticResourceExtension(object resourceKey)

FILE: src/MaterialDesignColors.Wpf/Swatch.cs
  class Swatch (line 6) | public class Swatch
    method Swatch (line 8) | public Swatch(string name, IEnumerable<Hue> primaryHues, IEnumerable<H...
    method ToString (line 38) | public override string ToString() => Name;

FILE: src/MaterialDesignColors.Wpf/SwatchHelper.cs
  class SwatchHelper (line 6) | public static class SwatchHelper

FILE: src/MaterialDesignColors.Wpf/SwatchesProvider.cs
  class SwatchesProvider (line 13) | public class SwatchesProvider
    method SwatchesProvider (line 21) | public SwatchesProvider(Assembly assembly)
    method SwatchesProvider (line 49) | public SwatchesProvider() : this(Assembly.GetExecutingAssembly())
    method CreateSwatch (line 54) | private static Swatch CreateSwatch(string name, ResourceDictionary? pr...
    method Read (line 92) | private static ResourceDictionary? Read(string? assemblyName, string? ...

FILE: src/MaterialDesignDemo.Shared/ColorScheme.cs
  type ColorScheme (line 3) | public enum ColorScheme

FILE: src/MaterialDesignDemo.Shared/Converters/BoolToTextWrappingConverter.cs
  class BoolToTextWrappingConverter (line 6) | public class BoolToTextWrappingConverter : IValueConverter
    method Convert (line 8) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 17) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignDemo.Shared/Converters/BooleanToDoubleConverter.cs
  class BooleanToDoubleConverter (line 6) | public sealed class BooleanToDoubleConverter : MarkupExtension, IValueCo...
    method ProvideValue (line 11) | public override object ProvideValue(IServiceProvider serviceProvider) ...
    method Convert (line 13) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 15) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignDemo.Shared/Converters/BrushToHexConverter.cs
  class BrushToHexConverter (line 7) | public class BrushToHexConverter : IValueConverter
    method Convert (line 9) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 21) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignDemo.Shared/Converters/ColorToBrushConverter.cs
  class ColorToBrushConverter (line 7) | [ValueConversion(typeof(Color), typeof(Brush))]
    method Convert (line 10) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 21) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignDemo.Shared/Converters/IsTransparentConverter.cs
  class IsTransparentConverter (line 7) | public sealed class IsTransparentConverter : IValueConverter
    method Convert (line 9) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 20) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignDemo.Shared/Converters/MultiValueEqualityConverter.cs
  class MultiValueEqualityConverter (line 6) | public sealed class MultiValueEqualityConverter : IMultiValueConverter
    method Convert (line 8) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 11) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignDemo.Shared/Converters/StringJoinConverter.cs
  class StringJoinConverter (line 7) | public sealed class StringJoinConverter : IValueConverter
    method Convert (line 11) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 17) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignDemo.Shared/Domain/AnotherCommandImplementation.cs
  class AnotherCommandImplementation (line 6) | public class AnotherCommandImplementation : ICommand
    method AnotherCommandImplementation (line 11) | public AnotherCommandImplementation(Action<object?> execute)
    method AnotherCommandImplementation (line 15) | public AnotherCommandImplementation(Action<object?> execute, Func<obje...
    method CanExecute (line 23) | public bool CanExecute(object? parameter) => _canExecute(parameter);
    method Execute (line 25) | public void Execute(object? parameter) => _execute(parameter);
    method Refresh (line 39) | public void Refresh() => CommandManager.InvalidateRequerySuggested();

FILE: src/MaterialDesignDemo.Shared/Domain/ButtonsViewModel.cs
  class ButtonsViewModel (line 8) | public sealed partial class ButtonsViewModel : ObservableObject
    method ButtonsViewModel (line 12) | public ButtonsViewModel()
    method FloatingActionDemo (line 70) | private static void FloatingActionDemo(object? o)
    method Dismiss (line 74) | [RelayCommand]
    method UpdateDemoRestartCountdownText (line 86) | private void UpdateDemoRestartCountdownText(DateTime endTime, out bool...
    method IncrementOrClickMeCount (line 97) | [RelayCommand]
    method Save (line 105) | [RelayCommand]

FILE: src/MaterialDesignDemo.Shared/Domain/ColorToolViewModel.cs
  class ColorToolViewModel (line 7) | public class ColorToolViewModel : ViewModelBase
    method ApplyBase (line 67) | private void ApplyBase(bool isDark)
    method ColorToolViewModel (line 74) | public ColorToolViewModel()
    method ChangeCustomColor (line 93) | private void ChangeCustomColor(object? obj)
    method ChangeScheme (line 119) | private void ChangeScheme(ColorScheme scheme)
    method ChangeHue (line 148) | private void ChangeHue(object? obj)
    method SetPrimaryForegroundToSingleColor (line 177) | private void SetPrimaryForegroundToSingleColor(Color color)
    method SetSecondaryForegroundToSingleColor (line 188) | private void SetSecondaryForegroundToSingleColor(Color color)

FILE: src/MaterialDesignDemo.Shared/Domain/ComboBoxesViewModel.cs
  class ComboBoxesViewModel (line 5) | public class ComboBoxesViewModel : ViewModelBase
    method ComboBoxesViewModel (line 12) | public ComboBoxesViewModel()

FILE: src/MaterialDesignDemo.Shared/Domain/ToolTipsViewModel.cs
  class ToolTipsViewModel (line 12) | public partial class ToolTipsViewModel : ObservableObject
    method ToolTipsViewModel (line 14) | public ToolTipsViewModel()
    method ResetToDefaults (line 19) | [RelayCommand]
    method EnumToEnumerable (line 60) | private static IEnumerable<T> EnumToEnumerable<T>() where T : Enum

FILE: src/MaterialDesignDemo.Shared/Domain/ViewModelBase.cs
  class ViewModelBase (line 6) | public abstract class ViewModelBase : INotifyPropertyChanged
    method SetProperty (line 19) | protected virtual bool SetProperty<T>(ref T member, T value, [CallerMe...
    method OnPropertyChanged (line 35) | protected void OnPropertyChanged([CallerMemberName] string? propertyNa...

FILE: src/MaterialDesignDemo.Shared/PaletteHelperExtensions.cs
  class PaletteHelperExtensions (line 8) | public static class PaletteHelperExtensions
    method ChangePrimaryColor (line 10) | public static void ChangePrimaryColor(this PaletteHelper paletteHelper...
    method ChangeSecondaryColor (line 21) | public static void ChangeSecondaryColor(this PaletteHelper paletteHelp...

FILE: src/MaterialDesignThemes.MahApps/BaseThemeExtensions.cs
  class BaseThemeExtensions (line 7) | internal static class BaseThemeExtensions
    method GetMahAppsBaseColorScheme (line 9) | public static string GetMahAppsBaseColorScheme(this BaseTheme baseTheme)

FILE: src/MaterialDesignThemes.MahApps/FlyoutAssist.cs
  class FlyoutAssist (line 5) | public static class FlyoutAssist
    method SetHeaderColorMode (line 10) | public static void SetHeaderColorMode(DependencyObject element, ColorZ...
    method GetHeaderColorMode (line 13) | public static ColorZoneMode GetHeaderColorMode(DependencyObject element)
    method SetHeaderElevation (line 19) | public static void SetHeaderElevation(DependencyObject element, Elevat...
    method GetHeaderElevation (line 22) | public static Elevation GetHeaderElevation(DependencyObject element)

FILE: src/MaterialDesignThemes.MahApps/MahAppsBundledTheme.cs
  class MahAppsBundledTheme (line 9) | public class MahAppsBundledTheme : BundledTheme
    method ApplyTheme (line 13) | protected override void ApplyTheme(Theme theme)
    method TryGetResourceDictionaries (line 46) | private bool TryGetResourceDictionaries(Theme theme, out ResourceDicti...
    method ThemeManagerOnThemeChanged (line 93) | private void ThemeManagerOnThemeChanged(object? sender, Wpf.ThemeChang...

FILE: src/MaterialDesignThemes.MahApps/MahAppsCustomColorTheme.cs
  class MahAppsCustomColorTheme (line 10) | public class MahAppsCustomColorTheme : CustomColorTheme
    method ApplyTheme (line 14) | protected override void ApplyTheme(Theme theme)
    method TryGetResourceDictionaries (line 36) | private bool TryGetResourceDictionaries(Theme theme, out ResourceDicti...
    method ThemeManagerOnThemeChanged (line 84) | private void ThemeManagerOnThemeChanged(object? sender, Wpf.ThemeChang...

FILE: src/MaterialDesignThemes.MahApps/MaterialDesignAssist.cs
  class MaterialDesignAssist (line 10) | public static class MaterialDesignAssist
    method SetMahApps (line 12) | public static void SetMahApps(this ResourceDictionary resourceDictiona...
    method SetBrush (line 456) | private static void SetBrush(this ResourceDictionary resourceDictionar...
    method SetBrush (line 480) | private static void SetBrush(this ResourceDictionary resourceDictionar...
    method SetBrush (line 492) | private static void SetBrush(this ResourceDictionary resourceDictionar...
    method SetColor (line 500) | private static void SetColor(this ResourceDictionary resourceDictionar...
    method SetMahAppsBaseTheme (line 503) | internal static void SetMahAppsBaseTheme(this ResourceDictionary resou...

FILE: src/MaterialDesignThemes.MahApps/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: src/MaterialDesignThemes.MahApps/Properties/Settings.Designer.cs
  class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

FILE: src/MaterialDesignThemes.Wpf/AdornerExtensions.cs
  class AdornerExtensions (line 10) | internal static class AdornerExtensions
    method AddAdorner (line 12) | public static void AddAdorner<TAdorner>(this UIElement element, TAdorn...
    method RemoveAdorners (line 25) | public static void RemoveAdorners<TAdorner>(this UIElement element) wh...

FILE: src/MaterialDesignThemes.Wpf/AutoSuggestBox.cs
  class AutoSuggestBox (line 9) | [TemplatePart(Name = AutoSuggestBoxListPart, Type = typeof(ListBox))]
    method GetIsInteractiveElement (line 12) | public static bool? GetIsInteractiveElement(DependencyObject obj)
    method SetIsInteractiveElement (line 15) | public static void SetIsInteractiveElement(DependencyObject obj, bool?...
    method AutoSuggestBox (line 139) | static AutoSuggestBox() => DefaultStyleKeyProperty.OverrideMetadata(ty...
    method OnApplyTemplate (line 143) | public override void OnApplyTemplate()
    method OnPreviewKeyDown (line 160) | protected override void OnPreviewKeyDown(KeyEventArgs e)
    method OnLostFocus (line 195) | protected override void OnLostFocus(RoutedEventArgs e)
    method OnTextChanged (line 205) | protected override void OnTextChanged(TextChangedEventArgs e)
    method AutoSuggestionListBox_PreviewMouseDown (line 220) | private void AutoSuggestionListBox_PreviewMouseDown(object sender, Mou...
    method IsInteractiveElement (line 260) | private bool IsInteractiveElement(DependencyObject? element)
    method CloseAutoSuggestionPopUp (line 282) | private void CloseAutoSuggestionPopUp()
    method CommitValueSelection (line 287) | private bool CommitValueSelection()
    method CommitValueSelection (line 290) | private bool CommitValueSelection(object? selectedValue)
    method DecrementSelection (line 313) | private void DecrementSelection()
    method IncrementSelection (line 327) | private void IncrementSelection()

FILE: src/MaterialDesignThemes.Wpf/Automation/Peers/TreeListViewItemAutomationPeer.cs
  class TreeListViewAutomationPeer (line 5) | public class TreeListViewAutomationPeer(TreeListView owner) : ListViewAu...
    method GetAutomationControlTypeCore (line 7) | protected override AutomationControlType GetAutomationControlTypeCore(...
    method GetClassNameCore (line 9) | protected override string GetClassNameCore() => "TreeListView";
    method GetChildrenCore (line 11) | protected override List<AutomationPeer>? GetChildrenCore()
    method CreateItemAutomationPeer (line 33) | protected override ItemAutomationPeer CreateItemAutomationPeer(object ...
  class TreeListViewItemAutomationPeer (line 36) | public class TreeListViewItemAutomationPeer(object owner, SelectorAutoma...
    method GetChildrenCore (line 38) | protected override List<AutomationPeer> GetChildrenCore()
    method GetPattern (line 58) | public override object GetPattern(PatternInterface patternInterface)
    method GetAutomationControlTypeCore (line 67) | protected override AutomationControlType GetAutomationControlTypeCore(...
    method GetClassNameCore (line 68) | protected override string GetClassNameCore() => "TreeListViewItem";

FILE: src/MaterialDesignThemes.Wpf/Badged.cs
  type BadgePlacementMode (line 6) | public enum BadgePlacementMode
  class Badged (line 18) | [TemplatePart(Name = BadgeContainerPartName, Type = typeof(UIElement))]
    method OnBadgeChanged (line 89) | private static void OnBadgeChanged(DependencyObject d, DependencyPrope...
    method Badged (line 134) | static Badged()
    method OnApplyTemplate (line 139) | public override void OnApplyTemplate()
    method ArrangeOverride (line 148) | protected override Size ArrangeOverride(Size arrangeBounds)
    method OnBadgeChanged (line 169) | private void OnBadgeChanged(object sender, RoutedPropertyChangedEventA...

FILE: src/MaterialDesignThemes.Wpf/BadgedAssist.cs
  class BadgedAssist (line 5) | public static class BadgedAssist
    method GetBadge (line 8) | public static object? GetBadge(DependencyObject element)
    method SetBadge (line 10) | public static void SetBadge(DependencyObject element, object? value)
    method GetBadgeBackground (line 18) | public static Brush? GetBadgeBackground(DependencyObject element)
    method SetBadgeBackground (line 20) | public static void SetBadgeBackground(DependencyObject element, Brush?...
    method GetBadgeForeground (line 28) | public static Brush? GetBadgeForeground(DependencyObject element)
    method SetBadgeForeground (line 30) | public static void SetBadgeForeground(DependencyObject element, Brush?...
    method GetBadgePlacementMode (line 38) | public static BadgePlacementMode GetBadgePlacementMode(DependencyObjec...
    method SetBadgePlacementMode (line 40) | public static void SetBadgePlacementMode(DependencyObject element, Bad...
    method GetIsMiniBadge (line 48) | public static bool GetIsMiniBadge(DependencyObject element)
    method SetIsMiniBadge (line 50) | public static void SetIsMiniBadge(DependencyObject element, bool value)

FILE: src/MaterialDesignThemes.Wpf/BaseTheme.cs
  type BaseTheme (line 3) | public enum BaseTheme

FILE: src/MaterialDesignThemes.Wpf/BehaviorCollection.cs
  class BehaviorCollection (line 5) | public class BehaviorCollection : FreezableCollection<Behavior>
    method CreateInstanceCore (line 7) | protected override Freezable CreateInstanceCore() => new BehaviorColle...

FILE: src/MaterialDesignThemes.Wpf/Behaviors/Internal/TabControlHeaderScrollBehavior.cs
  class TabControlHeaderScrollBehavior (line 7) | public class TabControlHeaderScrollBehavior : Behavior<ScrollViewer>
    method GetCustomHorizontalOffset (line 12) | public static double GetCustomHorizontalOffset(DependencyObject obj) =...
    method SetCustomHorizontalOffset (line 13) | public static void SetCustomHorizontalOffset(DependencyObject obj, dou...
    method CustomHorizontalOffsetChanged (line 14) | private static void CustomHorizontalOffsetChanged(DependencyObject d, ...
    method GetScrollDirection (line 23) | public static TabScrollDirection GetScrollDirection(DependencyObject o...
    method SetScrollDirection (line 24) | public static void SetScrollDirection(DependencyObject obj, TabScrollD...
    method OnTabControlChanged (line 37) | private static void OnTabControlChanged(DependencyObject d, Dependency...
    method OnScrollableContentChanged (line 64) | private static void OnScrollableContentChanged(DependencyObject d, Dep...
    method OnTabChanged (line 73) | private void OnTabChanged(object sender, SelectionChangedEventArgs e)
    method OnTabControlSizeChanged (line 98) | private void OnTabControlSizeChanged(object sender, SizeChangedEventAr...
    method AssociatedObject_SizeChanged (line 99) | private void AssociatedObject_SizeChanged(object sender, SizeChangedEv...
    method AddPaddingToScrollableContentIfWiderThanViewPort (line 101) | private void AddPaddingToScrollableContentIfWiderThanViewPort()
    method OnTabControlPreviewKeyDown (line 119) | private void OnTabControlPreviewKeyDown(object sender, KeyEventArgs e)
    method OnAttached (line 128) | protected override void OnAttached()
    method OnDetaching (line 136) | protected override void OnDetaching()
    method AssociatedObject_ScrollChanged (line 146) | private void AssociatedObject_ScrollChanged(object sender, ScrollChang...
  type TabScrollDirection (line 178) | public enum TabScrollDirection

FILE: src/MaterialDesignThemes.Wpf/Behaviors/Internal/TextBoxHorizontalScrollBarBehavior.cs
  class TextBoxHorizontalScrollBarBehavior (line 5) | public class TextBoxHorizontalScrollBarBehavior : Behavior<ScrollViewer>
    method TargetScrollBarChanged (line 17) | private static void TargetScrollBarChanged(DependencyObject d, Depende...
    method TargetScrollBar_OnScroll (line 39) | private void TargetScrollBar_OnScroll(object sender, ScrollEventArgs e)
    method AssociatedObject_Loaded (line 45) | private void AssociatedObject_Loaded(object sender, RoutedEventArgs e)
    method AssociatedObject_SizeChanged (line 51) | private void AssociatedObject_SizeChanged(object sender, SizeChangedEv...
    method AssociatedObject_ScrollChanged (line 61) | private void AssociatedObject_ScrollChanged(object sender, ScrollChang...
    method UpdateTargetScrollBarVisibility (line 70) | private void UpdateTargetScrollBarVisibility(bool showIfRequired)
    method OnAttached (line 83) | protected override void OnAttached()
    method OnDetaching (line 91) | protected override void OnDetaching()

FILE: src/MaterialDesignThemes.Wpf/Behaviors/PasswordBoxBehavior.cs
  class PasswordBoxBehavior (line 5) | internal class PasswordBoxBehavior : Behavior<PasswordBox>
    method PasswordBoxLoaded (line 7) | private void PasswordBoxLoaded(object sender, RoutedEventArgs e) => Pa...
    method PasswordBoxPreviewGotKeyboardFocus (line 9) | private void PasswordBoxPreviewGotKeyboardFocus(object sender, Keyboar...
    method OnAttached (line 31) | protected override void OnAttached()
    method OnDetaching (line 38) | protected override void OnDetaching()

FILE: src/MaterialDesignThemes.Wpf/Behaviors/PasswordBoxRevealTextBoxBehavior.cs
  class PasswordBoxRevealTextBoxBehavior (line 7) | internal class PasswordBoxRevealTextBoxBehavior : Behavior<TextBox>
    method SetSelection (line 11) | private static void SetSelection(DependencyObject obj, TextSelection? ...
    method GetSelection (line 12) | private static TextSelection? GetSelection(DependencyObject obj) => (T...
    method PasswordBoxRevealTextBoxBehavior (line 29) | static PasswordBoxRevealTextBoxBehavior()
    method OnAttached (line 40) | protected override void OnAttached()
    method OnDetaching (line 51) | protected override void OnDetaching()
    method AssociatedObjectOnIsVisibleChanged (line 61) | private void AssociatedObjectOnIsVisibleChanged(object sender, Depende...
    method GetPasswordBoxSelection (line 78) | private PasswordBoxSelection GetPasswordBoxSelection()
    method SetPasswordBoxSelection (line 94) | private void SetPasswordBoxSelection(int selectionStart, int selection...
    type PasswordBoxSelection (line 96) | private record struct PasswordBoxSelection(int SelectionStart, int Sel...

FILE: src/MaterialDesignThemes.Wpf/Behaviors/SmartHintBehavior.cs
  class SmartHintBehavior (line 5) | public class SmartHintBehavior : Behavior<SmartHint>
    method GetYOffset (line 9) | public static double GetYOffset(DependencyObject obj)
    method SetYOffset (line 11) | public static void SetYOffset(DependencyObject obj, double value)
    method UpdateSmartHintLocationRecalculationTrigger (line 14) | private void UpdateSmartHintLocationRecalculationTrigger()
    method HintHostOnLayoutUpdated (line 22) | private void HintHostOnLayoutUpdated(object? sender, EventArgs e)
    method OnAttached (line 25) | protected override void OnAttached()
    method OnDetaching (line 31) | protected override void OnDetaching()

FILE: src/MaterialDesignThemes.Wpf/Behaviors/TextBoxLineCountBehavior.cs
  class TextBoxLineCountBehavior (line 9) | public class TextBoxLineCountBehavior : Behavior<TextBox>
    method AssociatedObjectOnTextChanged (line 11) | private void AssociatedObjectOnTextChanged(object sender, TextChangedE...
    method AssociatedObjectOnLayoutUpdated (line 12) | private void AssociatedObjectOnLayoutUpdated(object? sender, EventArgs...
    method UpdateAttachedProperties (line 14) | private void UpdateAttachedProperties()
    method OnAttached (line 29) | protected override void OnAttached()
    method OnDetaching (line 36) | protected override void OnDetaching()

FILE: src/MaterialDesignThemes.Wpf/BehaviorsAssist.cs
  class BehaviorsAssist (line 8) | public static class BehaviorsAssist
    method SetOriginalBehavior (line 12) | private static void SetOriginalBehavior(DependencyObject obj, Behavior...
    method GetOriginalBehavior (line 13) | private static Behavior? GetOriginalBehavior(DependencyObject obj) => ...
    method SetBehaviors (line 17) | public static void SetBehaviors(DependencyObject uie, BehaviorCollecti...
    method GetBehaviors (line 18) | public static BehaviorCollection? GetBehaviors(DependencyObject uie) =...
    method OnPropertyChanged (line 20) | private static void OnPropertyChanged(DependencyObject dpo, Dependency...
    method FrameworkElementUnloaded (line 68) | private static void FrameworkElementUnloaded(object sender, RoutedEven...
    method FrameworkElementLoaded (line 85) | private static void FrameworkElementLoaded(object sender, RoutedEventA...
    method GetIndexOf (line 100) | private static int GetIndexOf(Microsoft.Xaml.Behaviors.BehaviorCollect...

FILE: src/MaterialDesignThemes.Wpf/BottomDashedLineAdorner.cs
  class BottomDashedLineAdorner (line 6) | public class BottomDashedLineAdorner : Adorner
    method GetIsAttached (line 16) | public static bool GetIsAttached(DependencyObject element)
    method SetIsAttached (line 18) | public static void SetIsAttached(DependencyObject element, bool value)
    method GetBrush (line 26) | public static Brush? GetBrush(DependencyObject element)
    method SetBrush (line 28) | public static void SetBrush(DependencyObject element, Brush? value)
    method GetThickness (line 36) | public static Thickness GetThickness(DependencyObject element)
    method SetThickness (line 38) | public static void SetThickness(DependencyObject element, Thickness va...
    method GetThicknessScale (line 46) | public static double GetThicknessScale(DependencyObject element)
    method SetThicknessScale (line 48) | public static void SetThicknessScale(DependencyObject element, double ...
    method GetBrushOpacity (line 56) | public static double GetBrushOpacity(DependencyObject element)
    method SetBrushOpacity (line 58) | public static void SetBrushOpacity(DependencyObject element, double va...
    method SetDashStyle (line 66) | public static void SetDashStyle(DependencyObject element, DashStyle? v...
    method GetDashStyle (line 68) | public static DashStyle? GetDashStyle(DependencyObject element)
    method BottomDashedLineAdorner (line 72) | public BottomDashedLineAdorner(UIElement adornedElement) : base(adorne...
    method OnRender (line 76) | protected override void OnRender(DrawingContext drawingContext)
    method OnIsAttachedChanged (line 94) | private static void OnIsAttachedChanged(DependencyObject d, Dependency...

FILE: src/MaterialDesignThemes.Wpf/BundledTheme.cs
  class BundledTheme (line 6) | public class BundledTheme : ResourceDictionary, IMaterialDesignThemeDict...
    method SetTheme (line 60) | private void SetTheme()
    method SetField (line 86) | protected static bool SetField<T>(ref T field, T value)
    method ApplyTheme (line 93) | protected virtual void ApplyTheme(Theme theme) =>

FILE: src/MaterialDesignThemes.Wpf/ButtonAssist.cs
  class ButtonAssist (line 3) | public static class ButtonAssist
    method GetCornerRadius (line 14) | public static CornerRadius GetCornerRadius(DependencyObject element) =...
    method SetCornerRadius (line 15) | public static void SetCornerRadius(DependencyObject element, CornerRad...

FILE: src/MaterialDesignThemes.Wpf/ButtonProgressAssist.cs
  class ButtonProgressAssist (line 5) | public static class ButtonProgressAssist
    method GetMinimum (line 13) | public static double GetMinimum(ButtonBase element) => (double)element...
    method SetMinimum (line 14) | public static void SetMinimum(ButtonBase element, double value) => ele...
    method GetMaximum (line 21) | public static double GetMaximum(ButtonBase element) => (double)element...
    method SetMaximum (line 22) | public static void SetMaximum(ButtonBase element, double value) => ele...
    method GetValue (line 29) | public static double GetValue(ButtonBase element) => (double)element.G...
    method SetValue (line 30) | public static void SetValue(ButtonBase element, double value) => eleme...
    method GetIsIndeterminate (line 37) | public static bool GetIsIndeterminate(ButtonBase element) => (bool)ele...
    method SetIsIndeterminate (line 38) | public static void SetIsIndeterminate(ButtonBase element, bool isIndet...
    method GetIndicatorForeground (line 45) | public static Brush GetIndicatorForeground(ButtonBase element) => (Bru...
    method SetIndicatorForeground (line 46) | public static void SetIndicatorForeground(ButtonBase element, Brush in...
    method GetIndicatorBackground (line 53) | public static Brush GetIndicatorBackground(ButtonBase element) => (Bru...
    method SetIndicatorBackground (line 54) | public static void SetIndicatorBackground(ButtonBase element, Brush in...
    method GetIsIndicatorVisible (line 61) | public static bool GetIsIndicatorVisible(ButtonBase element) => (bool)...
    method SetIsIndicatorVisible (line 62) | public static void SetIsIndicatorVisible(ButtonBase element, bool isIn...
    method GetOpacity (line 69) | public static double GetOpacity(ButtonBase element) => (double)element...
    method SetOpacity (line 70) | public static void SetOpacity(ButtonBase element, double opacity) => e...

FILE: src/MaterialDesignThemes.Wpf/CalendarAssist.cs
  type CalendarOrientation (line 5) | public enum CalendarOrientation
  class CalendarAssist (line 10) | public static class CalendarAssist
    method GetIsHeaderVisible (line 16) | public static bool GetIsHeaderVisible(DependencyObject element) => (bo...
    method SetIsHeaderVisible (line 17) | public static void SetIsHeaderVisible(DependencyObject element, bool v...
    method GetHeaderBackground (line 25) | public static Brush GetHeaderBackground(DependencyObject element) => (...
    method SetHeaderBackground (line 26) | public static void SetHeaderBackground(DependencyObject element, Brush...
    method GetHeaderForeground (line 33) | public static Brush GetHeaderForeground(DependencyObject element) => (...
    method SetHeaderForeground (line 34) | public static void SetHeaderForeground(DependencyObject element, Brush...
    method GetSelectionColor (line 41) | public static Brush GetSelectionColor(DependencyObject element) => (Br...
    method SetSelectionColor (line 42) | public static void SetSelectionColor(DependencyObject element, Brush v...
    method GetSelectionForegroundColor (line 49) | public static Brush GetSelectionForegroundColor(DependencyObject eleme...
    method SetSelectionForegroundColor (line 50) | public static void SetSelectionForegroundColor(DependencyObject elemen...
    method GetOrientation (line 57) | public static CalendarOrientation GetOrientation(DependencyObject elem...
    method SetOrientation (line 58) | public static void SetOrientation(DependencyObject element, CalendarOr...

FILE: src/MaterialDesignThemes.Wpf/CalendarFormatInfo.cs
  class CalendarFormatInfo (line 8) | public class CalendarFormatInfo
    method CalendarFormatInfo (line 44) | static CalendarFormatInfo()
    method SetYearPattern (line 61) | public static void SetYearPattern(string[] cultureNames, string yearPa...
    method SetYearPattern (line 78) | public static void SetYearPattern(string cultureName, string? yearPatt...
    method SetDayOfWeekStyle (line 100) | public static void SetDayOfWeekStyle(string[] cultureNames, DayOfWeekS...
    method SetDayOfWeekStyle (line 117) | public static void SetDayOfWeekStyle(string cultureName, DayOfWeekStyl...
    method ResetDayOfWeekStyle (line 131) | public static void ResetDayOfWeekStyle(string[] cultureNames)
    method ResetDayOfWeekStyle (line 147) | public static void ResetDayOfWeekStyle(string cultureName)
    method DiscardFormatInfoCache (line 158) | private static void DiscardFormatInfoCache(string cultureName)
    method CalendarFormatInfo (line 161) | private CalendarFormatInfo(string yearMonthPattern, string componentOn...
    method FromCultureInfo (line 175) | public static CalendarFormatInfo FromCultureInfo(CultureInfo cultureInfo)
    type DayOfWeekStyle (line 214) | public struct DayOfWeekStyle
      method DayOfWeekStyle (line 244) | public DayOfWeekStyle(string pattern, string separator, bool isFirst)
      method Parse (line 257) | public static DayOfWeekStyle Parse(string s)

FILE: src/MaterialDesignThemes.Wpf/Card.cs
  class Card (line 5) | [TemplatePart(Name = ClipBorderPartName, Type = typeof(Border))]
    method UniformCornerRadiusChangedCallback (line 22) | private static void UniformCornerRadiusChangedCallback(DependencyObjec...
    method Card (line 54) | static Card()
    method OnApplyTemplate (line 59) | public override void OnApplyTemplate()
    method OnRenderSizeChanged (line 66) | protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo)
    method UpdateContentClip (line 72) | private void UpdateContentClip()

FILE: src/MaterialDesignThemes.Wpf/CheckBoxAssist.cs
  class CheckBoxAssist (line 3) | public class CheckBoxAssist
    method GetCheckBoxSize (line 11) | public static double GetCheckBoxSize(CheckBox element) => (double)elem...
    method SetCheckBoxSize (line 12) | public static void SetCheckBoxSize(CheckBox element, double checkBoxSi...

FILE: src/MaterialDesignThemes.Wpf/Chip.cs
  class Chip (line 6) | [TemplatePart(Name = DeleteButtonPartName, Type = typeof(Button))]
    method Chip (line 13) | static Chip()
    method OnApplyTemplate (line 104) | public override void OnApplyTemplate()
    method OnDeleteClick (line 121) | protected virtual void OnDeleteClick()
    method DeleteButtonOnClick (line 131) | private void DeleteButtonOnClick(object sender, RoutedEventArgs routed...

FILE: src/MaterialDesignThemes.Wpf/Clock.cs
  type ClockDisplayMode (line 6) | public enum ClockDisplayMode
  type ClockDisplayAutomation (line 13) | public enum ClockDisplayAutomation
  class Clock (line 22) | [TemplatePart(Name = HoursCanvasPartName, Type = typeof(Canvas))]
    method Clock (line 48) | static Clock()
    method Clock (line 53) | public Clock()
    method TimePropertyChangedCallback (line 63) | private static void TimePropertyChangedCallback(DependencyObject depen...
    method OnTimeChanged (line 88) | protected virtual void OnTimeChanged(TimeChangedEventArgs timeChangedE...
    method IsPostMeridiemPropertyChangedCallback (line 122) | private static void IsPostMeridiemPropertyChangedCallback(DependencyOb...
    method Is24HoursChanged (line 140) | private static void Is24HoursChanged(DependencyObject d, DependencyPro...
    method DisplayModePropertyChangedCallback (line 152) | private static void DisplayModePropertyChangedCallback(DependencyObjec...
    method OnClockChoiceMade (line 247) | private static void OnClockChoiceMade(DependencyObject d, ClockDisplay...
    method OnApplyTemplate (line 258) | public override void OnApplyTemplate()
    method GotoVisualState (line 285) | private void GotoVisualState(bool useTransitions)
    method GenerateButtons (line 295) | private void GenerateButtons()
    method SecondReadOutPartNameOnPreviewMouseLeftButtonDown (line 348) | private void SecondReadOutPartNameOnPreviewMouseLeftButtonDown(object ...
    method MinuteReadOutPartNameOnPreviewMouseLeftButtonDown (line 351) | private void MinuteReadOutPartNameOnPreviewMouseLeftButtonDown(object ...
    method HourReadOutPartNameOnPreviewMouseLeftButtonDown (line 354) | private void HourReadOutPartNameOnPreviewMouseLeftButtonDown(object se...
    method GenerateButtons (line 357) | private void GenerateButtons(
    method ClockItemDragCompletedHandler (line 410) | private void ClockItemDragCompletedHandler(object sender, DragComplete...
    method ClockItemDragStartedHandler (line 444) | private void ClockItemDragStartedHandler(object sender, DragStartedEve...
    method ClockItemDragDeltaHandler (line 447) | private void ClockItemDragDeltaHandler(object sender, DragDeltaEventAr...
    method SetFlags (line 488) | private static void SetFlags(Clock clock)

FILE: src/MaterialDesignThemes.Wpf/ClockChoiceMadeEventArgs.cs
  class ClockChoiceMadeEventArgs (line 5) | public class ClockChoiceMadeEventArgs : RoutedEventArgs
    method ClockChoiceMadeEventArgs (line 9) | public ClockChoiceMadeEventArgs(ClockDisplayMode displayMode)
    method ClockChoiceMadeEventArgs (line 14) | public ClockChoiceMadeEventArgs(ClockDisplayMode displayMode, RoutedEv...
    method ClockChoiceMadeEventArgs (line 19) | public ClockChoiceMadeEventArgs(ClockDisplayMode displayMode, RoutedEv...

FILE: src/MaterialDesignThemes.Wpf/ClockItemButton.cs
  class ClockItemButton (line 4) | [TemplatePart(Name = ThumbPartName, Type = typeof(Thumb))]
    method OnApplyTemplate (line 57) | public override void OnApplyTemplate()
    method OnDragDelta (line 85) | private static void OnDragDelta(
    method OnDragStarted (line 112) | private static void OnDragStarted(DependencyObject d, double horizonta...
    method OnDragCompleted (line 124) | private static void OnDragCompleted(DependencyObject d, double horizon...
    method OnPreviewMouseLeftButtonDown (line 136) | protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventA...
    method OnClick (line 150) | protected override void OnClick()
    method ThumbOnDragStarted (line 156) | private void ThumbOnDragStarted(object sender, DragStartedEventArgs dr...
    method ThumbOnDragDelta (line 162) | private void ThumbOnDragDelta(object sender, DragDeltaEventArgs dragDe...
    method ThumbOnDragCompleted (line 165) | private void ThumbOnDragCompleted(object sender, DragCompletedEventArg...
    method ArrangeOverride (line 168) | protected override Size ArrangeOverride(Size finalSize)

FILE: src/MaterialDesignThemes.Wpf/ColorAdjustment.cs
  class ColorAdjustment (line 3) | public class ColorAdjustment : MarkupExtension
    method ProvideValue (line 11) | public override object ProvideValue(IServiceProvider serviceProvider) ...

FILE: src/MaterialDesignThemes.Wpf/ColorPicker.cs
  class ColorPicker (line 6) | [TemplatePart(Name = HueSliderPartName, Type = typeof(Slider))]
    method ColorPicker (line 15) | static ColorPicker()
    method ColorPropertyChangedCallback (line 33) | private static void ColorPropertyChangedCallback(DependencyObject d, D...
    method HsbPropertyChangedCallback (line 74) | private static void HsbPropertyChangedCallback(DependencyObject d, Dep...
    method OnApplyTemplate (line 103) | public override void OnApplyTemplate()
    method HueSliderOnValueChanged (line 136) | private void HueSliderOnValueChanged(object sender, RoutedPropertyChan...
    method SaturationBrightnessCanvasMouseDown (line 144) | private void SaturationBrightnessCanvasMouseDown(object sender, MouseB...
    method SaturationBrightnessCanvasMouseMove (line 149) | private void SaturationBrightnessCanvasMouseMove(object sender, MouseE...
    method SaturationBrightnessCanvasMouseUp (line 161) | private void SaturationBrightnessCanvasMouseUp(object sender, MouseBut...
    method ArrangeOverride (line 166) | protected override Size ArrangeOverride(Size arrangeBounds)
    method SaturationBrightnessThumbDragDelta (line 174) | private void SaturationBrightnessThumbDragDelta(object sender, DragDel...
    method ApplyThumbPosition (line 180) | private void ApplyThumbPosition(double left, double top)
    method SetThumbLeft (line 200) | private void SetThumbLeft()
    method SetThumbTop (line 207) | private void SetThumbTop()

FILE: src/MaterialDesignThemes.Wpf/ColorReference.cs
  type ColorReference (line 5) | public readonly record struct ColorReference(ThemeColorReference ThemeRe...

FILE: src/MaterialDesignThemes.Wpf/ColorSelection.cs
  type ColorSelection (line 3) | [Flags]

FILE: src/MaterialDesignThemes.Wpf/ColorZone.cs
  class ColorZone (line 6) | public class ColorZone : ContentControl
    method ColorZone (line 8) | static ColorZone()

FILE: src/MaterialDesignThemes.Wpf/ColorZoneAssist.cs
  class ColorZoneAssist (line 5) | public static class ColorZoneAssist
    method SetMode (line 10) | public static void SetMode(DependencyObject element, ColorZoneMode value)
    method GetMode (line 13) | public static ColorZoneMode GetMode(DependencyObject element)
    method SetBackground (line 19) | public static void SetBackground(DependencyObject element, Brush value)
    method GetBackground (line 22) | public static Brush GetBackground(DependencyObject element)
    method SetForeground (line 28) | public static void SetForeground(DependencyObject element, Brush value)
    method GetForeground (line 31) | public static Brush GetForeground(DependencyObject element)

FILE: src/MaterialDesignThemes.Wpf/ColorZoneMode.cs
  type ColorZoneMode (line 3) | public enum ColorZoneMode

FILE: src/MaterialDesignThemes.Wpf/ComboBoxAssist.cs
  class ComboBoxAssist (line 3) | public static class ComboBoxAssist
    method GetShowSelectedItem (line 17) | public static bool GetShowSelectedItem(DependencyObject element)
    method SetShowSelectedItem (line 20) | public static void SetShowSelectedItem(DependencyObject element, bool ...
    method GetMaxLength (line 38) | public static int GetMaxLength(DependencyObject element) => (int)eleme...
    method SetMaxLength (line 39) | public static void SetMaxLength(DependencyObject element, int value) =...
    method SetCustomPopupPlacementCallback (line 51) | public static void SetCustomPopupPlacementCallback(DependencyObject el...
    method GetCustomPopupPlacementCallback (line 52) | public static CustomPopupPlacementCallback GetCustomPopupPlacementCall...

FILE: src/MaterialDesignThemes.Wpf/ComboBoxPopup.cs
  type PopupDirection (line 5) | public enum PopupDirection
  class ComboBoxPopup (line 12) | public class ComboBoxPopup : Popup
    method ComboBoxPopup (line 192) | public ComboBoxPopup()
    method OnPropertyChanged (line 195) | protected override void OnPropertyChanged(DependencyPropertyChangedEve...
    method OnClosed (line 206) | protected override void OnClosed(EventArgs e)
    method ComboBoxCustomPopupPlacementCallback (line 212) | private CustomPopupPlacement[] ComboBoxCustomPopupPlacementCallback(
    method Round (line 278) | private static double Round(double val) => val < 0 ? (int)(val - 0.5) ...
    type PositioningData (line 280) | private struct PositioningData
      method PositioningData (line 294) | public PositioningData(Visual mainVisual, double offsetX, double new...

FILE: src/MaterialDesignThemes.Wpf/Constants.cs
  class Constants (line 3) | public static class Constants

FILE: src/MaterialDesignThemes.Wpf/Contrast.cs
  type Contrast (line 3) | public enum Contrast

FILE: src/MaterialDesignThemes.Wpf/Converters/BooleanAllConverter.cs
  class BooleanAllConverter (line 6) | public class BooleanAllConverter : IMultiValueConverter
    method Convert (line 10) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 13) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/BooleanConverter.cs
  class BooleanConverter (line 6) | public class BooleanConverter<T>(T trueValue, T falseValue) : IValueConv...
    method Convert (line 11) | public virtual object? Convert(object? value, Type targetType, object?...
    method ConvertBack (line 14) | public virtual object? ConvertBack(object? value, Type targetType, obj...

FILE: src/MaterialDesignThemes.Wpf/Converters/BooleanToDashStyleConverter.cs
  class BooleanToDashStyleConverter (line 7) | public class BooleanToDashStyleConverter : IValueConverter
    method Convert (line 12) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 15) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignThemes.Wpf/Converters/BooleanToVisibilityConverter.cs
  class BooleanToVisibilityConverter (line 3) | public sealed class BooleanToVisibilityConverter : BooleanConverter<Visi...
    method BooleanToVisibilityConverter (line 11) | public BooleanToVisibilityConverter() :

FILE: src/MaterialDesignThemes.Wpf/Converters/BorderClipConverter.cs
  class BorderClipConverter (line 7) | public class BorderClipConverter : IMultiValueConverter
    method Convert (line 10) | public object Convert(object?[]? values, Type targetType, object? para...
    method ConvertBack (line 39) | public object?[]? ConvertBack(object? value, Type[] targetTypes, objec...
    method GetRoundRectangle (line 43) | private static Geometry GetRoundRectangle(Rect baseRect, Thickness bor...

FILE: src/MaterialDesignThemes.Wpf/Converters/BrushOpacityConverter.cs
  class BrushOpacityConverter (line 7) | public class BrushOpacityConverter : IValueConverter
    method Convert (line 10) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 25) | public object? ConvertBack(object value, Type targetType, object? para...

FILE: src/MaterialDesignThemes.Wpf/Converters/BrushRoundConverter.cs
  class BrushRoundConverter (line 8) | public class BrushRoundConverter : IValueConverter
    method Convert (line 15) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 24) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignThemes.Wpf/Converters/BrushToRadialGradientBrushConverter.cs
  class BrushToRadialGradientBrushConverter (line 7) | public class BrushToRadialGradientBrushConverter : IValueConverter
    method Convert (line 10) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 24) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/CalendarDateCoalesceConverter.cs
  class CalendarDateCoalesceConverter (line 14) | public class CalendarDateCoalesceConverter : IMultiValueConverter
    method Convert (line 18) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 29) | public object?[]? ConvertBack(object? value, Type[] targetTypes, objec...

FILE: src/MaterialDesignThemes.Wpf/Converters/CalendarYearMonthConverter.cs
  class CalendarYearMonthConverter (line 6) | public sealed class CalendarYearMonthConverter : IMultiValueConverter
    method Convert (line 10) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 33) | public object?[]? ConvertBack(object? value, Type[] targetTypes, objec...

FILE: src/MaterialDesignThemes.Wpf/Converters/CircularProgressBar/ArcEndPointConverter.cs
  class ArcEndPointConverter (line 6) | public class ArcEndPointConverter : IMultiValueConverter
    method Convert (line 18) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 53) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/CircularProgressBar/ArcSizeConverter.cs
  class ArcSizeConverter (line 6) | public class ArcSizeConverter : IValueConverter
    method Convert (line 10) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 13) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/CircularProgressBar/LocalEx.cs
  class LocalEx (line 3) | internal static class LocalEx
    method ExtractDouble (line 5) | public static double ExtractDouble(this object value)
    method AnyNan (line 12) | public static bool AnyNan(this IEnumerable<double> values) => values.A...

FILE: src/MaterialDesignThemes.Wpf/Converters/CircularProgressBar/RotateTransformCentreConverter.cs
  class RotateTransformCentreConverter (line 6) | public class RotateTransformCentreConverter : IValueConverter
    method Convert (line 10) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 13) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/CircularProgressBar/StartPointConverter.cs
  class StartPointConverter (line 6) | public class StartPointConverter : IValueConverter
    method Convert (line 10) | [Obsolete]
    method ConvertBack (line 21) | [Obsolete]

FILE: src/MaterialDesignThemes.Wpf/Converters/ClockItemIsCheckedConverter.cs
  class ClockItemIsCheckedConverter (line 6) | internal class ClockItemIsCheckedConverter(Func<DateTime> currentTimeGet...
    method Convert (line 12) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 27) | public object ConvertBack(object value, Type targetType, object parame...
    method MassageHour (line 40) | private static int MassageHour(int val, bool is24Hours)
    method MassageMinuteSecond (line 52) | private static int MassageMinuteSecond(int val)
    method ReverseMassageHour (line 55) | private static int ReverseMassageHour(int val, DateTime currentTime, b...
    method ReverseMassageMinuteSecond (line 67) | private static int ReverseMassageMinuteSecond(int val)

FILE: src/MaterialDesignThemes.Wpf/Converters/ClockLineConverter.cs
  class ClockLineConverter (line 6) | public class ClockLineConverter : MarkupExtension, IValueConverter
    method Convert (line 14) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 25) | public object ConvertBack(object value, Type targetType, object parame...
    method ProvideValue (line 28) | public override object ProvideValue(IServiceProvider serviceProvider)

FILE: src/MaterialDesignThemes.Wpf/Converters/CornerRadiusCloneConverter.cs
  class CornerRadiusCloneConverter (line 6) | public class CornerRadiusCloneConverter : IValueConverter
    method Convert (line 13) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 26) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignThemes.Wpf/Converters/CursorConverter.cs
  class CursorConverter (line 10) | public sealed class CursorConverter : IValueConverter
    method Convert (line 17) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 19) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/DrawerOffsetConverter.cs
  class DrawerOffsetConverter (line 6) | public class DrawerOffsetConverter : IValueConverter
    method Convert (line 9) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 24) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/ElevationMarginConverter.cs
  class ElevationMarginConverter (line 6) | public class ElevationMarginConverter : IValueConverter
    method Convert (line 9) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 18) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/ElevationRadiusConverter.cs
  class ElevationRadiusConverter (line 6) | public class ElevationRadiusConverter : IValueConverter
    method Convert (line 12) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 21) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/EllipseClipConverter.cs
  class EllipseClipConverter (line 12) | public class EllipseClipConverter : IMultiValueConverter
    method Convert (line 16) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 38) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/EqualityToVisibilityConverter.cs
  class EqualityToVisibilityConverter (line 6) | public class EqualityToVisibilityConverter : IValueConverter
    method Convert (line 10) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 17) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/FallbackBrushConverter.cs
  class FallbackBrushConverter (line 7) | public class FallbackBrushConverter : IMultiValueConverter
    method Convert (line 11) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 17) | public object?[]? ConvertBack(object? value, Type[] targetTypes, objec...

FILE: src/MaterialDesignThemes.Wpf/Converters/FirstNonNullConverter.cs
  class FirstNonNullConverter (line 6) | public class FirstNonNullConverter : IMultiValueConverter
    method Convert (line 10) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 13) | public object?[] ConvertBack(object? value, Type[] targetTypes, object...

FILE: src/MaterialDesignThemes.Wpf/Converters/FloatingHintClippingGridConverter.cs
  class FloatingHintClippingGridConverter (line 7) | public class FloatingHintClippingGridConverter : IMultiValueConverter
    method Convert (line 10) | public object? Convert(object?[] values, Type targetType, object? para...
    method ConvertBack (line 19) | public object?[] ConvertBack(object? value, Type[] targetTypes, object...

FILE: src/MaterialDesignThemes.Wpf/Converters/FloatingHintContainerMarginConverter.cs
  class FloatingHintContainerMarginConverter (line 6) | public class FloatingHintContainerMarginConverter : IMultiValueConverter
    method Convert (line 12) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 25) | public object[]? ConvertBack(object? value, Type[] targetTypes, object...

FILE: src/MaterialDesignThemes.Wpf/Converters/FloatingHintInitialHorizontalOffsetConverter.cs
  class FloatingHintInitialHorizontalOffsetConverter (line 6) | public class FloatingHintInitialHorizontalOffsetConverter : IMultiValueC...
    method Convert (line 10) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 71) | public object?[] ConvertBack(object? value, Type[] targetTypes, object...

FILE: src/MaterialDesignThemes.Wpf/Converters/FloatingHintInitialVerticalOffsetConverter.cs
  class FloatingHintInitialVerticalOffsetConverter (line 17) | public class FloatingHintInitialVerticalOffsetConverter : IMultiValueCon...
    method Convert (line 21) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 40) | public object?[] ConvertBack(object? value, Type[] targetTypes, object...

FILE: src/MaterialDesignThemes.Wpf/Converters/FloatingHintMarginConverter.cs
  class FloatingHintMarginConverter (line 6) | public class FloatingHintMarginConverter : IMultiValueConverter
    method Convert (line 12) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 54) | public object?[]? ConvertBack(object? value, Type[] targetTypes, objec...

FILE: src/MaterialDesignThemes.Wpf/Converters/FloatingHintScaleTransformConverter.cs
  class FloatingHintScaleTransformConverter (line 7) | public class FloatingHintScaleTransformConverter : IMultiValueConverter
    method Convert (line 10) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 18) | public object[]? ConvertBack(object? value, Type[] targetTypes, object...

FILE: src/MaterialDesignThemes.Wpf/Converters/FloatingHintTranslateTransformConverter.cs
  class FloatingHintTranslateTransformConverter (line 7) | public class FloatingHintTranslateTransformConverter : IMultiValueConverter
    method Convert (line 10) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 62) | public object[]? ConvertBack(object? value, Type[] targetTypes, object...

FILE: src/MaterialDesignThemes.Wpf/Converters/GridLinesVisibilityBorderToThicknessConverter.cs
  class GridLinesVisibilityBorderToThicknessConverter (line 6) | public class GridLinesVisibilityBorderToThicknessConverter : IValueConve...
    method Convert (line 12) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 29) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/HintProxyFabricConverter.cs
  class HintProxyFabricConverter (line 9) | public class HintProxyFabricConverter : IValueConverter
    method Convert (line 15) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 18) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignThemes.Wpf/Converters/HorizontalThicknessConverter.cs
  class HorizontalThicknessConverter (line 6) | public class HorizontalThicknessConverter : IValueConverter
    method Convert (line 9) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 16) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/HsbLinearGradientConverter.cs
  class HsbLinearGradientConverter (line 8) | public class HsbLinearGradientConverter : IValueConverter
    method Convert (line 12) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 19) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/HsbToColorConverter.cs
  class HsbToColorConverter (line 8) | public class HsbToColorConverter : IValueConverter, IMultiValueConverter
    method Convert (line 12) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 19) | public object ConvertBack(object value, Type targetType, object parame...
    method Convert (line 26) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 33) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/Internal/AutomationPropertiesNameConverter.cs
  class AutomationPropertiesNameConverter (line 6) | public class AutomationPropertiesNameConverter : IValueConverter
    method Convert (line 10) | public object Convert(object? value, Type targetType, object? paramete...
    method ConvertBack (line 19) | public object ConvertBack(object? value, Type targetType, object? para...

FILE: src/MaterialDesignThemes.Wpf/Converters/Internal/DialogBackgroundBlurConverter.cs
  class DialogBackgroundBlurConverter (line 12) | public sealed class DialogBackgroundBlurConverter : IMultiValueConverter
    method Convert (line 15) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 26) | public object?[]? ConvertBack(object? value, Type[] targetTypes, objec...

FILE: src/MaterialDesignThemes.Wpf/Converters/Internal/DoubleToCornerRadiusConverter.cs
  class DoubleToCornerRadiusConverter (line 6) | public class DoubleToCornerRadiusConverter : IValueConverter
    method Convert (line 10) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 12) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/Internal/ExpanderRotateAngleConverter.cs
  class ExpanderRotateAngleConverter (line 6) | public class ExpanderRotateAngleConverter : IValueConverter
    method Convert (line 10) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 28) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/Internal/FloatingHintTextBlockMarginConverter.cs
  class FloatingHintTextBlockMarginConverter (line 7) | public class FloatingHintTextBlockMarginConverter : IMultiValueConverter
    method Convert (line 10) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 116) | public object?[]? ConvertBack(object? value, Type[] targetTypes, objec...

FILE: src/MaterialDesignThemes.Wpf/Converters/Internal/GridViewHasColumnsConverter.cs
  class GridViewHasColumnsConverter (line 6) | internal class GridViewHasColumnsConverter : IValueConverter
    method Convert (line 8) | public object Convert(object? value, Type targetType, object? paramete...
    method ConvertBack (line 14) | public object ConvertBack(object? value, Type targetType, object? para...

FILE: src/MaterialDesignThemes.Wpf/Converters/Internal/SliderToolTipConverter.cs
  class SliderToolTipConverter (line 6) | public class SliderToolTipConverter : IMultiValueConverter
    method Convert (line 9) | public object? Convert(object?[]? values, Type? targetType, object? pa...
    method ConvertBack (line 26) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/Internal/SliderValueLabelPositionConverter.cs
  class SliderValueLabelPositionConverter (line 6) | [ValueConversion(typeof(double), typeof(double), ParameterType = typeof(...
    method Convert (line 10) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 27) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/Internal/TextBoxHorizontalScrollBarMarginConverter.cs
  class TextBoxHorizontalScrollBarMarginConverter (line 6) | public class TextBoxHorizontalScrollBarMarginConverter : IMultiValueConv...
    method Convert (line 8) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 41) | public object?[]? ConvertBack(object? value, Type[] targetTypes, objec...

FILE: src/MaterialDesignThemes.Wpf/Converters/Internal/TextBoxHorizontalScrollBarWidthConverter.cs
  class TextBoxHorizontalScrollBarWidthConverter (line 6) | public class TextBoxHorizontalScrollBarWidthConverter : IMultiValueConve...
    method Convert (line 8) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 17) | public object?[]? ConvertBack(object? value, Type[] targetTypes, objec...

FILE: src/MaterialDesignThemes.Wpf/Converters/Internal/TextFieldClearButtonVisibilityConverter.cs
  class TextFieldClearButtonVisibilityConverter (line 6) | public class TextFieldClearButtonVisibilityConverter : IMultiValueConverter
    method Convert (line 10) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 32) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/Internal/ViewIsGridViewConverter.cs
  class ViewIsGridViewConverter (line 6) | internal class ViewIsGridViewConverter : IValueConverter
    method Convert (line 8) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 14) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/InvertBooleanConverter.cs
  class InvertBooleanConverter (line 3) | public sealed class InvertBooleanConverter : BooleanConverter<bool>
    method InvertBooleanConverter (line 7) | public InvertBooleanConverter()

FILE: src/MaterialDesignThemes.Wpf/Converters/IsDarkConverter.cs
  class IsDarkConverter (line 8) | public class IsDarkConverter : IValueConverter
    method Convert (line 12) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 24) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/IsTransparentBrushConverter.cs
  class IsTransparentBrushConverter (line 7) | public sealed class IsTransparentBrushConverter : IValueConverter
    method Convert (line 11) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 14) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignThemes.Wpf/Converters/ListViewItemContainerStyleConverter.cs
  class ListViewGridViewConverter (line 9) | public class ListViewGridViewConverter : IValueConverter
    method Convert (line 29) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 36) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignThemes.Wpf/Converters/MathConverter.cs
  class MathConverter (line 6) | public sealed class MathConverter : IValueConverter
    method Convert (line 17) | public object? Convert(object? value, Type? targetType, object? parame...
    method ConvertBack (line 39) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignThemes.Wpf/Converters/MathMultipleConverter.cs
  class MathMultipleConverter (line 6) | public sealed class MathMultipleConverter : IMultiValueConverter
    method Convert (line 16) | public object? Convert(object?[]? value, Type? targetType, object? par...
    method ConvertBack (line 31) | public object?[]? ConvertBack(object? value, Type[]? targetTypes, obje...

FILE: src/MaterialDesignThemes.Wpf/Converters/MathOperation.cs
  type MathOperation (line 3) | public enum MathOperation

FILE: src/MaterialDesignThemes.Wpf/Converters/NonDefaultThicknessConverter.cs
  class NonDefaultThicknessConverter (line 6) | public class NonDefaultThicknessConverter : IValueConverter
    method Convert (line 10) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 19) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignThemes.Wpf/Converters/NotConverter.cs
  class NotConverter (line 6) | public class NotConverter : IValueConverter
    method Convert (line 9) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 15) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignThemes.Wpf/Converters/NotZeroConverter.cs
  class NotZeroConverter (line 6) | public class NotZeroConverter : IValueConverter
    method Convert (line 10) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 19) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignThemes.Wpf/Converters/NotZeroToVisibilityConverter.cs
  class NotZeroToVisibilityConverter (line 6) | public class NotZeroToVisibilityConverter : IValueConverter
    method Convert (line 10) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 18) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/NullableDateTimeToCurrentDateConverter.cs
  class NullableDateTimeToCurrentDateConverter (line 6) | public class NullableDateTimeToCurrentDateConverter : IValueConverter
    method Convert (line 8) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 15) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/NullableToVisibilityConverter.cs
  class NullableToVisibilityConverter (line 6) | public class NullableToVisibilityConverter : IValueConverter
    method Convert (line 17) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 20) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/OutlinedDateTimePickerActiveBorderThicknessConverter.cs
  class OutlinedDateTimePickerActiveBorderThicknessConverter (line 6) | [Obsolete("This class is obsolete and will be removed in a future versio...
    method Convert (line 9) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 24) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/OutlinedStyleActiveBorderMarginCompensationConverter.cs
  class OutlinedStyleActiveBorderMarginCompensationConverter (line 6) | public class OutlinedStyleActiveBorderMarginCompensationConverter : IMul...
    method Convert (line 10) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 24) | public object?[] ConvertBack(object? value, Type[] targetTypes, object...

FILE: src/MaterialDesignThemes.Wpf/Converters/OutlinedStyleFloatingHintBackgroundConverter.cs
  class OutlinedStyleFloatingHintBackgroundConverter (line 7) | [Obsolete("This class is obsolete and will be removed in a future versio...
    method Convert (line 10) | public object? Convert(object[]? values, Type targetType, object? para...
    method ConvertBack (line 21) | public object[]? ConvertBack(object? value, Type[] targetTypes, object...

FILE: src/MaterialDesignThemes.Wpf/Converters/PointValueConverter.cs
  class PointValueConverter (line 6) | public class PointValueConverter : IMultiValueConverter
    method Convert (line 10) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 24) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/RangeLengthConverter.cs
  class RangeLengthConverter (line 6) | public class RangeLengthConverter : IMultiValueConverter
    method Convert (line 8) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 26) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/RemoveAlphaBrushConverter.cs
  class RemoveAlphaBrushConverter (line 7) | public class RemoveAlphaBrushConverter : IValueConverter, IMultiValueCon...
    method Convert (line 11) | public object Convert(object value, Type targetType, object parameter,...
    method Convert (line 16) | public object Convert(object[] values, Type targetType, object paramet...
    method RgbaToRgb (line 21) | private static Color RgbaToRgb(Color rgba, object background)
    method ConvertBack (line 40) | public object ConvertBack(object value, Type targetType, object parame...
    method ConvertBack (line 41) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/ShadowConverter.cs
  class ShadowConverter (line 7) | public class ShadowConverter : IValueConverter
    method Convert (line 11) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 18) | public object ConvertBack(object? value, Type targetType, object? para...
    method Convert (line 21) | public static DropShadowEffect? Convert(Elevation elevation) => Elevat...
    method Clone (line 23) | private static DropShadowEffect? Clone(DropShadowEffect? dropShadowEff...

FILE: src/MaterialDesignThemes.Wpf/Converters/ShadowOpacityMaskConverter.cs
  class ShadowOpacityMaskConverter (line 8) | public class ShadowOpacityMaskConverter : IMultiValueConverter
    method Convert (line 12) | public object? Convert(object[]? values, Type targetType, object? para...
    method ConvertBack (line 54) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/SnackbarActionButtonPlacementModeConverter.cs
  class SnackbarActionButtonPlacementModeConverter (line 6) | public class SnackbarActionButtonPlacementModeConverter : IMultiValueCon...
    method Convert (line 9) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 24) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/SnackbarMessageTypeConverter.cs
  class SnackbarMessageTypeConverter (line 6) | public class SnackbarMessageTypeConverter : TypeConverter
    method CanConvertFrom (line 8) | public override bool CanConvertFrom(ITypeDescriptorContext? context, T...
    method ConvertFrom (line 11) | public override object? ConvertFrom(ITypeDescriptorContext? context, C...

FILE: src/MaterialDesignThemes.Wpf/Converters/StringLengthValueConverter.cs
  class StringLengthValueConverter (line 6) | public class StringLengthValueConverter : IValueConverter
    method Convert (line 10) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 18) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/TextFieldHintVisibilityConverter.cs
  class TextFieldHintVisibilityConverter (line 6) | public class TextFieldHintVisibilityConverter : IValueConverter
    method Convert (line 14) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 17) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/TextFieldPrefixTextVisibilityConverter.cs
  class TextFieldPrefixTextVisibilityConverter (line 6) | public class TextFieldPrefixTextVisibilityConverter : IMultiValueConverter
    method Convert (line 12) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 36) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/ThicknessCloneConverter.cs
  class ThicknessCloneConverter (line 6) | public class ThicknessCloneConverter : IValueConverter
    method Convert (line 22) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 35) | public object ConvertBack(object value, Type targetType, object parame...
  type ThicknessEdges (line 39) | [Flags]

FILE: src/MaterialDesignThemes.Wpf/Converters/TimeToVisibilityConverter.cs
  class TimeToVisibilityConverter (line 6) | [Obsolete("This class is obsolete and will be removed in a future versio...
    method ProvideValue (line 9) | public override object ProvideValue(IServiceProvider serviceProvider)
    method Convert (line 12) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 21) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/ToolBarOverflowButtonVisibilityConverter.cs
  class ToolBarOverflowButtonVisibilityConverter (line 6) | public class ToolBarOverflowButtonVisibilityConverter : IMultiValueConve...
    method Convert (line 10) | public object Convert(object[] values, Type targetType, object paramet...
    method ConvertBack (line 29) | public object[] ConvertBack(object value, Type[] targetTypes, object p...

FILE: src/MaterialDesignThemes.Wpf/Converters/TopThicknessConverter.cs
  class TopThicknessConverter (line 6) | [Obsolete]
    method Convert (line 11) | public object Convert(object value, Type targetType, object parameter,...
    method ConvertBack (line 16) | public object ConvertBack(object value, Type targetType, object parame...

FILE: src/MaterialDesignThemes.Wpf/Converters/TreeListViewIndentConverter.cs
  class TreeListViewIndentConverter (line 6) | public class TreeListViewIndentConverter : IMultiValueConverter
    method Convert (line 10) | public object? Convert(object?[]? values, Type targetType, object? par...
    method ConvertBack (line 19) | public object?[]? ConvertBack(object? value, Type[] targetTypes, objec...

FILE: src/MaterialDesignThemes.Wpf/Converters/VerticalAlignmentConverter.cs
  class VerticalAlignmentConverter (line 6) | [Obsolete("This class is obsolete and will be removed in a future versio...
    method Convert (line 10) | public object? Convert(object? value, Type targetType, object? paramet...
    method ConvertBack (line 13) | public object? ConvertBack(object? value, Type targetType, object? par...

FILE: src/MaterialDesignThemes.Wpf/CustomColorTheme.cs
  class CustomColorTheme (line 6) | public class CustomColorTheme : ResourceDictionary, IMaterialDesignTheme...
    method SetTheme (line 66) | private void SetTheme()
    method ApplyTheme (line 78) | protected virtual void ApplyTheme(Theme theme) =>

FILE: src/MaterialDesignThemes.Wpf/CustomPopupPlacementCallbackHelper.cs
  class CustomPopupPlacementCallbackHelper (line 3) | public static class CustomPopupPlacementCallbackHelper
    method CustomPopupPlacementCallbackHelper (line 7) | static CustomPopupPlacementCallbackHelper()

FILE: src/MaterialDesignThemes.Wpf/DataGridAssist.cs
  class DataGridAssist (line 6) | public static class DataGridAssist
    method GetAutoGeneratedCheckBoxStyle (line 17) | public static Style GetAutoGeneratedCheckBoxStyle(DataGrid element)
    method SetAutoGeneratedCheckBoxStyle (line 19) | public static void SetAutoGeneratedCheckBoxStyle(DataGrid element, Sty...
    method AutoGeneratedCheckBoxStylePropertyChangedCallback (line 22) | private static void AutoGeneratedCheckBoxStylePropertyChangedCallback(...
    method SetGeneratedCheckboxColumnStyle (line 35) | private static void SetGeneratedCheckboxColumnStyle(object? sender, Da...
    method GetAutoGeneratedEditingCheckBoxStyle (line 50) | public static Style GetAutoGeneratedEditingCheckBoxStyle(DataGrid elem...
    method SetAutoGeneratedEditingCheckBoxStyle (line 52) | public static void SetAutoGeneratedEditingCheckBoxStyle(DataGrid eleme...
    method AutoGeneratedEditingCheckBoxStylePropertyChangedCallback (line 55) | private static void AutoGeneratedEditingCheckBoxStylePropertyChangedCa...
    method SetGeneratedCheckBoxEditingStyle (line 68) | private static void SetGeneratedCheckBoxEditingStyle(object? sender, D...
    method GetAutoGeneratedTextStyle (line 83) | public static Style GetAutoGeneratedTextStyle(DataGrid element)
    method SetAutoGeneratedTextStyle (line 85) | public static void SetAutoGeneratedTextStyle(DataGrid element, Style v...
    method AutoGeneratedTextStylePropertyChangedCallback (line 88) | private static void AutoGeneratedTextStylePropertyChangedCallback(Depe...
    method SetGeneratedTextColumnStyle (line 101) | private static void SetGeneratedTextColumnStyle(object? sender, DataGr...
    method GetAutoGeneratedEditingTextStyle (line 116) | public static Style GetAutoGeneratedEditingTextStyle(DataGrid element)
    method SetAutoGeneratedEditingTextStyle (line 118) | public static void SetAutoGeneratedEditingTextStyle(DataGrid element, ...
    method AutoGeneratedEditingTextStylePropertyChangedCallback (line 121) | private static void AutoGeneratedEditingTextStylePropertyChangedCallba...
    method SetGeneratedTextColumnEditingStyle (line 134) | private static void SetGeneratedTextColumnEditingStyle(object? sender,...
    method GetAutoGeneratedComboBoxStyle (line 149) | public static Style GetAutoGeneratedComboBoxStyle(DataGrid element)
    method SetAutoGeneratedComboBoxStyle (line 151) | public static void SetAutoGeneratedComboBoxStyle(DataGrid element, Sty...
    method AutoGeneratedComboBoxStylePropertyChangedCallback (line 154) | private static void AutoGeneratedComboBoxStylePropertyChangedCallback(...
    method SetGeneratedComboBoxColumnStyle (line 167) | private static void SetGeneratedComboBoxColumnStyle(object? sender, Da...
    method GetAutoGeneratedEditingComboBoxStyle (line 182) | public static Style GetAutoGeneratedEditingComboBoxStyle(DataGrid elem...
    method SetAutoGeneratedEditingComboBoxStyle (line 184) | public static void SetAutoGeneratedEditingComboBoxStyle(DataGrid eleme...
    method AutoGeneratedEditingComboBoxStylePropertyChangedCallback (line 187) | private static void AutoGeneratedEditingComboBoxStylePropertyChangedCa...
    method SetGeneratedComboBoxColumnEditingStyle (line 200) | private static void SetGeneratedComboBoxColumnEditingStyle(object? sen...
    method SetApplyMaterialDesignColumnStyles (line 215) | public static void SetApplyMaterialDesignColumnStyles(DataGrid element...
    method GetApplyMaterialDesignColumnStyles (line 218) | public static bool GetApplyMaterialDesignColumnStyles(DataGrid element)
    method ApplyMaterialDesignColumnStylesPropertyChangedCallback (line 221) | private static void ApplyMaterialDesignColumnStylesPropertyChangedCall...
    method ApplyMaterialDesignColumnStyleForColumn (line 243) | private static void ApplyMaterialDesignColumnStyleForColumn(DataGrid d...
    method GetCellPadding (line 300) | public static Thickness GetCellPadding(DataGrid element)
    method SetCellPadding (line 302) | public static void SetCellPadding(DataGrid element, Thickness value)
    method GetSelectedCellBorderBrush (line 311) | public static Brush GetSelectedCellBorderBrush(DataGrid element)
    method SetSelectedCellBorderBrush (line 313) | public static void SetSelectedCellBorderBrush(DataGrid element, Brush ...
    method GetColumnHeaderPadding (line 322) | public static Thickness GetColumnHeaderPadding(DataGrid element)
    method SetColumnHeaderPadding (line 324) | public stat
Copy disabled (too large) Download .json
Condensed preview — 1176 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (10,523K chars).
[
  {
    "path": ".config/dotnet-tools.json",
    "chars": 164,
    "preview": "{\n  \"version\": 1,\n  \"isRoot\": true,\n  \"tools\": {\n    \"xamlstyler.console\": {\n      \"version\": \"3.2311.2\",\n      \"command"
  },
  {
    "path": ".editorconfig",
    "chars": 8492,
    "preview": "# Remove the line below if you want to inherit .editorconfig settings from higher directories\nroot = true\n\n##### All fil"
  },
  {
    "path": ".gitattributes",
    "chars": 378,
    "preview": "# Auto detect text files and perform LF normalization\n* text=auto\n\n# Custom for Visual Studio\n*.cs     diff=csharp\n\n# St"
  },
  {
    "path": ".github/CONTRIBUTING.md",
    "chars": 2531,
    "preview": "# Contribution Guidelines\n\nPRs to this project are welcome, but before contributing please bear in mind my thoughts belo"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.yaml",
    "chars": 1086,
    "preview": "name: Bug report\ndescription: File a bug report\nlabels: [\"bug\", \"evaluation required\"]\nbody:\n  - type: markdown\n    attr"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 211,
    "preview": "blank_issues_enabled: false\ncontact_links:\n  - name: GitHub discussion tab\n    url: https://github.com/MaterialDesignInX"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "chars": 624,
    "preview": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: enhancement, evaluation required\nass"
  },
  {
    "path": ".github/copilot-instructions.md",
    "chars": 8489,
    "preview": "# Copilot Instructions for MaterialDesignInXamlToolkit\n\n## Repository Overview\n\nThe MaterialDesignInXamlToolkit is a **t"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 676,
    "preview": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where "
  },
  {
    "path": ".github/release.yml",
    "chars": 329,
    "preview": "# .github/release.yml\n\nchangelog:\n  exclude:\n    labels:\n      - ignore-for-release\n    authors:\n      - MDIX-SA\n      -"
  },
  {
    "path": ".github/workflows/build_artifacts.yml",
    "chars": 2223,
    "preview": "name: Build Artifacts\n\non:\n  workflow_call:\n    inputs:\n      build-configuration:\n        default: \"Release\"\n        re"
  },
  {
    "path": ".github/workflows/control_styles.yml",
    "chars": 881,
    "preview": "name: Wiki - Update Control Styles\n\non:\n    # push:\n    #   branches: [ master ]\n    workflow_dispatch:\n\njobs:\n    build"
  },
  {
    "path": ".github/workflows/copilot-setup-steps.yml",
    "chars": 899,
    "preview": "name: \"Copilot Setup Steps\"\n\n# Automatically run the setup steps when they are changed to allow for easy validation, and"
  },
  {
    "path": ".github/workflows/generate_contributors.yml",
    "chars": 857,
    "preview": "# This is a basic workflow to help you get started with Actions\nname: Generate Milestone Contributors\n\n# Controls when t"
  },
  {
    "path": ".github/workflows/get_versions.yml",
    "chars": 2117,
    "preview": "name: Setup Versions\n\non:\n  workflow_call:\n    inputs:\n      is-full-release:\n        required: false\n        type: bool"
  },
  {
    "path": ".github/workflows/icon_update.yml",
    "chars": 1483,
    "preview": "name: Icon Update\n\non:\n    workflow_dispatch:\n    schedule:\n        - cron: \"0 3 * * *\"\n\nenv:\n    GH_TOKEN: ${{ secrets."
  },
  {
    "path": ".github/workflows/nightly_release.yml",
    "chars": 2292,
    "preview": "name: Nightly Release\n\non:\n  workflow_dispatch:\n  schedule:\n    - cron:  '0 9 * * *'\n\nenv:\n  GH_TOKEN: ${{ github.token "
  },
  {
    "path": ".github/workflows/pr_verification.yml",
    "chars": 565,
    "preview": "name: Pull Request Verification\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n  workflo"
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 10817,
    "preview": "name: Production Release\n\non:\n  workflow_dispatch:\n    inputs:\n      milestone:\n        description: \"The milestone to g"
  },
  {
    "path": ".github/workflows/stale_issues_and_prs.yml",
    "chars": 1656,
    "preview": "name: 'Close stale issues and PRs'\r\non:\r\n  schedule:\r\n    - cron: '30 1 * * *'\r\n  workflow_dispatch:\r\n\r\njobs:\r\n  stale:\r"
  },
  {
    "path": ".gitignore",
    "chars": 3500,
    "preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## G"
  },
  {
    "path": "Directory.Build.props",
    "chars": 1989,
    "preview": "<Project>\n  <PropertyGroup>\n    <Copyright>Copyright © 2022</Copyright>\n    <Company>Mulholland Software/James Willock</"
  },
  {
    "path": "Directory.packages.props",
    "chars": 2580,
    "preview": "<Project>\n  <PropertyGroup>\n    <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>\n    <!-- https://l"
  },
  {
    "path": "LICENSE",
    "chars": 1113,
    "preview": "The MIT License (MIT)\n\nCopyright (c) James Willock,  Mulholland Software and Contributors\n\nPermission is hereby granted,"
  },
  {
    "path": "MaterialDesignToolkit.Full.slnx",
    "chars": 2624,
    "preview": "<Solution>\n  <Configurations>\n    <Platform Name=\"Any CPU\" />\n    <Platform Name=\"ARM\" />\n    <Platform Name=\"x64\" />\n  "
  },
  {
    "path": "README.md",
    "chars": 13188,
    "preview": "<!-- omit in toc -->\n# Material Design In XAML Toolkit ![Logo of Material Design in XAML](src/web/images/MD4XAML32.png)\n"
  },
  {
    "path": "Settings.XamlStyler",
    "chars": 2109,
    "preview": "{\n    \"IndentSize\": 2,\n    \"AttributesTolerance\": 2,\n    \"KeepFirstAttributeOnSameLine\": true,\n    \"MaxAttributeCharacte"
  },
  {
    "path": "build/ApplyXamlStyler.ps1",
    "chars": 222,
    "preview": "# Reset to repo root\nPush-Location $(Join-Path $PSScriptRoot \"..\")\n\n# Restore local tool\ndotnet tool restore\n\n#Run XAML "
  },
  {
    "path": "build/BuildNugets.ps1",
    "chars": 970,
    "preview": "param(\n  [string]$MDIXVersion = \"1.0.0\",\n  [string]$MDIXColorsVersion = \"1.0.0\",\n  [string]$MDIXMahAppsVersion = \"1.0.0\""
  },
  {
    "path": "build/GenerateThemesWikiMarkdown.ps1",
    "chars": 6655,
    "preview": "$defaultStyleText = \"(default style)\"\n$headerMarkdown = \"##\"\n$listMarkdown = \"-\"\n$themesDirectory = \"..\\src\\MaterialDesi"
  },
  {
    "path": "build/MigrateBrushes.ps1",
    "chars": 6407,
    "preview": "param(\n    [System.IO.DirectoryInfo]$RootDirectory\n)\n\n#NB: This script requires PowerShell 7.1 or later\n\n$files = Get-Ch"
  },
  {
    "path": "build/MigrateStyles.ps1",
    "chars": 4807,
    "preview": "param(\n    [System.IO.DirectoryInfo]$RootDirectory\n)\n\n#NB: This script requires PowerShell 7.1 or later\n\n$files = Get-Ch"
  },
  {
    "path": "build/UpdateNugets.ps1",
    "chars": 1121,
    "preview": "param(\n  [string]$Path,\n  [string]$MDIXVersion = \"1.0.0\",\n  [string]$MDIXColorsVersion = \"1.0.0\",\n  [string]$MDIXMahApps"
  },
  {
    "path": "docs/Freezable_Object_for_Enhanced_Performance.md",
    "chars": 871,
    "preview": "[Home](..\\README.md) > Using `Freezable` Objects for Enhanced Performance\n\n---\n\n# Using `Freezable` Objects for Enhanced"
  },
  {
    "path": "docs/Optimize_UI_Thread_Performance.md",
    "chars": 1384,
    "preview": "[Home](..\\README.md) > How to Optimize UI Thread Performance?\n\n---\n\n# How to Optimize UI Thread Performance?\n\n## Backgro"
  },
  {
    "path": "docs/Optimizing-WPF-Rendering-Performance.md",
    "chars": 3751,
    "preview": "[Home](..\\README.md) > Optimizing WPF UI Animation and Rendering Performance\n\n---\n\n# Optimizing WPF UI Animation and Ren"
  },
  {
    "path": "docs/Reducing_Layout_Complexity.md",
    "chars": 1054,
    "preview": "# Reducing Layout Complexity\n\n## Background information\n\nComplex layouts can slow down WPF performance, especially with "
  },
  {
    "path": "docs/rendering-performance.md",
    "chars": 3339,
    "preview": "[Home](..\\README.md) > How to increase rendering performance?\n\n---\n\n# How to increase rendering performance?\n\n## Backgro"
  },
  {
    "path": "global.json",
    "chars": 79,
    "preview": "{\n  \"sdk\": {\n    \"version\": \"10.0.102\",\n    \"rollForward\": \"latestMinor\"\n  }\n}\n"
  },
  {
    "path": "nuget.config",
    "chars": 549,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n    <packageSources>\n        <!--To inherit the global NuGet pack"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/AnotherCommandImplementation.cs",
    "chars": 1121,
    "preview": "namespace MahMaterialDragablzMashUp;\n\n/// <summary>\n/// No WPF project is complete without it's own version of this.\n//"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/App.config",
    "chars": 182,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n    <startup> \n        <supportedRuntime version=\"v4.0\" sku=\".NE"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/App.xaml",
    "chars": 7496,
    "preview": "<Application x:Class=\"MahMaterialDragablzMashUp.App\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/p"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/App.xaml.cs",
    "chars": 1098,
    "preview": "using System.Windows.Media;\nusing MaterialDesignThemes.Wpf;\nusing ShowMeTheXAML;\n\nnamespace MahMaterialDragablzMashUp;\n"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/Dialogs.xaml",
    "chars": 1126,
    "preview": "<UserControl x:Class=\"MahMaterialDragablzMashUp.Dialogs\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xa"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/Dialogs.xaml.cs",
    "chars": 218,
    "preview": "namespace MahMaterialDragablzMashUp;\n\n/// <summary>\n/// Interaction logic for Dialogs.xaml\n/// </summary>\npublic partia"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/DialogsViewModel.cs",
    "chars": 1927,
    "preview": "using MahApps.Metro.Controls;\nusing MahApps.Metro.Controls.Dialogs;\n\nnamespace MahMaterialDragablzMashUp;\n\npublic class"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/FlyoutContent.xaml",
    "chars": 1282,
    "preview": "<UserControl x:Class=\"MahMaterialDragablzMashUp.FlyoutContent\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/FlyoutContent.xaml.cs",
    "chars": 236,
    "preview": "namespace MahMaterialDragablzMashUp;\n\n/// <summary>\n/// Interaction logic for FlyoutContent.xaml\n/// </summary>\npublic "
  },
  {
    "path": "src/MahMaterialDragablzMashUp/Mah.xaml",
    "chars": 6103,
    "preview": "<UserControl x:Class=\"MahMaterialDragablzMashUp.Mah\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/p"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/Mah.xaml.cs",
    "chars": 210,
    "preview": "namespace MahMaterialDragablzMashUp;\n\n/// <summary>\n/// Interaction logic for MahApps.xaml\n/// </summary>\npublic partia"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/MahAppsDragablzDemo.csproj",
    "chars": 1339,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <OutputType>WinExe</Outpu"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/MahViewModel.cs",
    "chars": 2858,
    "preview": "using System.Collections.ObjectModel;\nusing System.ComponentModel;\n\nnamespace MahAppsDragablzDemo;\n\npublic class MahView"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/MainWindow.xaml",
    "chars": 3313,
    "preview": "<controls:MetroWindow x:Class=\"MahMaterialDragablzMashUp.MainWindow\"\n                      xmlns=\"http://schemas.micros"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/MainWindow.xaml.cs",
    "chars": 593,
    "preview": "using System.Diagnostics;\n\nnamespace MahMaterialDragablzMashUp;\n\n/// <summary>\n/// Interaction logic for MainWindow.xam"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/NotEmptyValidationRule.cs",
    "chars": 403,
    "preview": "using System.Globalization;\n\nnamespace MaterialDesignColors.WpfExample;\n\npublic class NotEmptyValidationRule : Validati"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/PaletteSelector.xaml",
    "chars": 6757,
    "preview": "<UserControl x:Class=\"MahMaterialDragablzMashUp.PaletteSelector\"\n             xmlns=\"http://schemas.microsoft.com/winfx"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/PaletteSelector.xaml.cs",
    "chars": 234,
    "preview": "namespace MahMaterialDragablzMashUp;\n\n/// <summary>\n/// Interaction logic for Palette.xaml\n/// </summary>\npublic partia"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/PaletteSelectorViewModel.cs",
    "chars": 2652,
    "preview": "using System.ComponentModel;\nusing MaterialDesignColors;\nusing MaterialDesignThemes.Wpf;\n\nnamespace MahMaterialDragablz"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/Properties/AssemblyInfo.cs",
    "chars": 1360,
    "preview": "using System.Runtime.InteropServices;\n\n// Setting ComVisible to false makes the types in this assembly not visible \n// "
  },
  {
    "path": "src/MahMaterialDragablzMashUp/Properties/Resources.Designer.cs",
    "chars": 2596,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code w"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/Properties/Resources.resx",
    "chars": 5494,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/Properties/Settings.Designer.cs",
    "chars": 1016,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code w"
  },
  {
    "path": "src/MahMaterialDragablzMashUp/Properties/Settings.settings",
    "chars": 193,
    "preview": "<?xml version='1.0' encoding='utf-8'?>\n<SettingsFile xmlns=\"uri:settings\" CurrentProfile=\"(Default)\">\n  <Profiles>\n    "
  },
  {
    "path": "src/MahMaterialDragablzMashUp/XamlDisplayEx.cs",
    "chars": 548,
    "preview": "namespace MahAppsDragablzDemo;\n\npublic static class XamlDisplayEx\n{\n    public static readonly DependencyProperty Butto"
  },
  {
    "path": "src/MainDemo.Wpf/App.config",
    "chars": 313,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n    <startup> \n        <supportedRuntime version=\"v4.0\" sku=\".NET"
  },
  {
    "path": "src/MainDemo.Wpf/App.manifest",
    "chars": 3349,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<assembly manifestVersion=\"1.0\" xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n  <ass"
  },
  {
    "path": "src/MainDemo.Wpf/App.xaml",
    "chars": 8893,
    "preview": "<Application x:Class=\"MaterialDesignDemo.App\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentat"
  },
  {
    "path": "src/MainDemo.Wpf/App.xaml.cs",
    "chars": 2032,
    "preview": "using MaterialDesign.Shared;\nusing MaterialDesignThemes.Wpf;\nusing ShowMeTheXAML;\n\nnamespace MaterialDesignDemo;\n\n/// <"
  },
  {
    "path": "src/MainDemo.Wpf/ButtonAssist.cs",
    "chars": 807,
    "preview": "namespace MaterialDesignDemo;\n\npublic static class ButtonAssist\n{\n    public static readonly DependencyProperty Uniform"
  },
  {
    "path": "src/MainDemo.Wpf/Buttons.xaml",
    "chars": 70173,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Buttons\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/prese"
  },
  {
    "path": "src/MainDemo.Wpf/Buttons.xaml.cs",
    "chars": 1019,
    "preview": "using System.Diagnostics;\nusing MaterialDesignDemo.Shared.Domain;\n\nnamespace MaterialDesignDemo;\n\npublic partial class B"
  },
  {
    "path": "src/MainDemo.Wpf/Cards.xaml",
    "chars": 29083,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Cards\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presen"
  },
  {
    "path": "src/MainDemo.Wpf/Cards.xaml.cs",
    "chars": 290,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class Cards\n{\n    public Cards() => InitializeComponent();\n\n    private v"
  },
  {
    "path": "src/MainDemo.Wpf/Chips.xaml",
    "chars": 16166,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Chips\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presen"
  },
  {
    "path": "src/MainDemo.Wpf/Chips.xaml.cs",
    "chars": 416,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class Chips\n{\n    public Chips() => InitializeComponent();\n\n    private v"
  },
  {
    "path": "src/MainDemo.Wpf/ColorTool.xaml",
    "chars": 27551,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.ColorTool\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pr"
  },
  {
    "path": "src/MainDemo.Wpf/ColorTool.xaml.cs",
    "chars": 222,
    "preview": "using MaterialDesignDemo.Shared.Domain;\n\nnamespace MaterialDesignDemo;\n\npublic partial class ColorTool\n{\n    public Col"
  },
  {
    "path": "src/MainDemo.Wpf/ColorZones.xaml",
    "chars": 9230,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.ColorZones\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/p"
  },
  {
    "path": "src/MainDemo.Wpf/ColorZones.xaml.cs",
    "chars": 118,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class ColorZones\n{\n    public ColorZones() => InitializeComponent();\n}\n"
  },
  {
    "path": "src/MainDemo.Wpf/ComboBoxes.xaml",
    "chars": 22680,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.ComboBoxes\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/p"
  },
  {
    "path": "src/MainDemo.Wpf/ComboBoxes.xaml.cs",
    "chars": 2700,
    "preview": "using MaterialDesignDemo.Shared.Domain;\nusing Screen = System.Windows.Forms.Screen;\nusing DrawingPoint = System.Drawing"
  },
  {
    "path": "src/MainDemo.Wpf/CommandLineOptions.cs",
    "chars": 1484,
    "preview": "using System.CommandLine;\nusing MaterialDesignThemes.Wpf;\n\nnamespace MaterialDesign.Shared;\n\ninternal static class Comm"
  },
  {
    "path": "src/MainDemo.Wpf/DataGrids.xaml",
    "chars": 10115,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.DataGrids\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pr"
  },
  {
    "path": "src/MainDemo.Wpf/DataGrids.xaml.cs",
    "chars": 219,
    "preview": "using MaterialDesignDemo.Domain;\n\nnamespace MaterialDesignDemo;\n\npublic partial class DataGrids\n{\n    public DataGrids("
  },
  {
    "path": "src/MainDemo.Wpf/Dialogs.xaml",
    "chars": 16344,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Dialogs\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pres"
  },
  {
    "path": "src/MainDemo.Wpf/Dialogs.xaml.cs",
    "chars": 3114,
    "preview": "using System.Diagnostics;\nusing MaterialDesignDemo.Domain;\nusing MaterialDesignThemes.Wpf;\n\nnamespace MaterialDesignDem"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/DemoItem.cs",
    "chars": 1787,
    "preview": "using MaterialDesignDemo.Domain;\n\nnamespace MaterialDesignDemo.Shared.Domain;\n\npublic class DemoItem : ViewModelBase\n{\n"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/DialogsViewModel.cs",
    "chars": 3901,
    "preview": "using System.Diagnostics;\nusing CommunityToolkit.Mvvm.ComponentModel;\nusing CommunityToolkit.Mvvm.Input;\nusing Material"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/DocumentationLink.cs",
    "chars": 2990,
    "preview": "using System.Configuration;\nusing MaterialDesignDemo.Shared.Domain;\n\nnamespace MaterialDesignDemo.Domain;\n\npublic class"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/DocumentationLinkType.cs",
    "chars": 164,
    "preview": "namespace MaterialDesignDemo.Domain;\n\npublic enum DocumentationLinkType\n{\n    Wiki,\n    DemoPageSource,\n    ControlSour"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/DocumentationLinks.xaml",
    "chars": 4712,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Domain.DocumentationLinks\"\n             xmlns=\"http://schemas.microsoft.com/wi"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/DocumentationLinks.xaml.cs",
    "chars": 251,
    "preview": "namespace MaterialDesignDemo.Domain;\n\n/// <summary>\n/// Interaction logic for DocumentationLinks.xaml\n/// </summary>\npu"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/FieldsViewModel.cs",
    "chars": 5322,
    "preview": "using System.Collections.ObjectModel;\nusing System.Windows.Media;\nusing CommunityToolkit.Mvvm.ComponentModel;\nusing Comm"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/FutureDateValidationRule.cs",
    "chars": 650,
    "preview": "using System.Globalization;\n\nnamespace MaterialDesignDemo.Domain;\n\npublic class FutureDateValidationRule : ValidationRu"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/IconPackViewModel.cs",
    "chars": 5666,
    "preview": "using System.Windows.Media;\nusing System.Windows.Media.Imaging;\nusing BluwolfIcons;\nusing MaterialDesignDemo.Shared.Dom"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/IsCheckedValidationRule.cs",
    "chars": 404,
    "preview": "using System.Globalization;\n\nnamespace MaterialDesignDemo.Domain;\n\npublic class IsCheckedValidationRule : ValidationRul"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/Link.cs",
    "chars": 380,
    "preview": "using System.Diagnostics;\nusing System.Runtime.InteropServices;\n\nnamespace MaterialDesignDemo.Domain;\n\npublic static cl"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/ListsAndGridsViewModel.cs",
    "chars": 2751,
    "preview": "using System.Collections.ObjectModel;\nusing MaterialDesignDemo.Shared.Domain;\n\nnamespace MaterialDesignDemo.Domain;\n\npub"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/MainWindowViewModel.cs",
    "chars": 16584,
    "preview": "using System.Collections.ObjectModel;\nusing System.ComponentModel;\nusing System.Configuration;\nusing System.Reflection;"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/NotEmptyValidationRule.cs",
    "chars": 397,
    "preview": "using System.Globalization;\n\nnamespace MaterialDesignDemo.Domain;\n\npublic class NotEmptyValidationRule : ValidationRule"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/PaletteSelectorViewModel.cs",
    "chars": 1226,
    "preview": "using MaterialDesignColors;\nusing MaterialDesignDemo.Shared.Domain;\nusing MaterialDesignThemes.Wpf;\n\nnamespace Material"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/PickersViewModel.cs",
    "chars": 871,
    "preview": "using MaterialDesignDemo.Shared.Domain;\n\nnamespace MaterialDesignDemo.Domain;\n\npublic class PickersViewModel : ViewMode"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/Sample4Dialog.xaml",
    "chars": 1517,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Domain.Sample4Dialog\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/Sample4Dialog.xaml.cs",
    "chars": 235,
    "preview": "namespace MaterialDesignDemo.Domain;\n\n/// <summary>\n/// Interaction logic for SampleDialog.xaml\n/// </summary>\npublic p"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/SampleDialog.xaml",
    "chars": 2480,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Domain.SampleDialog\"\n             xmlns=\"http://schemas.microsoft.com/winfx/20"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/SampleDialog.xaml.cs",
    "chars": 233,
    "preview": "namespace MaterialDesignDemo.Domain;\n\n/// <summary>\n/// Interaction logic for SampleDialog.xaml\n/// </summary>\npublic p"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/SampleDialogViewModel.cs",
    "chars": 266,
    "preview": "using MaterialDesignDemo.Shared.Domain;\n\nnamespace MaterialDesignDemo.Domain;\n\npublic class SampleDialogViewModel : View"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/SampleMessageDialog.xaml",
    "chars": 1152,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Domain.SampleMessageDialog\"\n             xmlns=\"http://schemas.microsoft.com/w"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/SampleMessageDialog.xaml.cs",
    "chars": 254,
    "preview": "namespace MaterialDesignDemo.Domain;\n\n/// <summary>\n/// Interaction logic for SampleMessageDialog.xaml\n/// </summary>\np"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/SampleProgressDialog.xaml",
    "chars": 643,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Domain.SampleProgressDialog\"\n             xmlns=\"http://schemas.microsoft.com/"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/SampleProgressDialog.xaml.cs",
    "chars": 257,
    "preview": "namespace MaterialDesignDemo.Domain;\n\n/// <summary>\n/// Interaction logic for SampleProgressDialog.xaml\n/// </summary>\n"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/SelectableViewModel.cs",
    "chars": 1374,
    "preview": "using MaterialDesignDemo.Shared.Domain;\n\nnamespace MaterialDesignDemo.Domain;\n\npublic class SelectableViewModel : ViewM"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/SimpleDataTemplateSelector.cs",
    "chars": 292,
    "preview": "namespace MaterialDesignDemo.Domain;\n\npublic class SimpleDataTemplateSelector : DataTemplateSelector\n{\n    public DataT"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/SimpleDateValidationRule.cs",
    "chars": 518,
    "preview": "using System.Globalization;\n\nnamespace MaterialDesignDemo.Domain;\n\npublic class SimpleDateValidationRule : ValidationRu"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/SlidersViewModel.cs",
    "chars": 971,
    "preview": "using MaterialDesignDemo.Shared.Domain;\n\nnamespace MaterialDesignDemo.Domain;\n\npublic class SlidersViewModel : ViewMode"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/SmartHintViewModel.cs",
    "chars": 11199,
    "preview": "using System.Windows.Media;\nusing MaterialDesignDemo.Shared.Domain;\nusing MaterialDesignThemes.Wpf;\n\nnamespace Material"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/TabsViewModel.cs",
    "chars": 5024,
    "preview": "using System.Collections.ObjectModel;\nusing CommunityToolkit.Mvvm.ComponentModel;\nusing MaterialDesignDemo.Shared.Domai"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/ThemeSettingsViewModel.cs",
    "chars": 4155,
    "preview": "using MaterialDesignDemo.Shared.Domain;\nusing MaterialDesignThemes.Wpf;\n\nnamespace MaterialDesignDemo.Domain;\n\npublic c"
  },
  {
    "path": "src/MainDemo.Wpf/Domain/TreesViewModel.cs",
    "chars": 7149,
    "preview": "using System.Collections;\nusing System.Collections.ObjectModel;\nusing System.Windows.Documents;\nusing CommunityToolkit."
  },
  {
    "path": "src/MainDemo.Wpf/Drawers.xaml",
    "chars": 9891,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Drawers\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pres"
  },
  {
    "path": "src/MainDemo.Wpf/Drawers.xaml.cs",
    "chars": 346,
    "preview": "using MaterialDesignThemes.Wpf;\n\nnamespace MaterialDesignDemo;\n\npublic partial class Drawers\n{\n    public Drawers()\n   "
  },
  {
    "path": "src/MainDemo.Wpf/Elevation.xaml",
    "chars": 8028,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Elevation\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pr"
  },
  {
    "path": "src/MainDemo.Wpf/Elevation.xaml.cs",
    "chars": 116,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class Elevation\n{\n    public Elevation() => InitializeComponent();\n}\n"
  },
  {
    "path": "src/MainDemo.Wpf/Expander.xaml",
    "chars": 12877,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Expander\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pre"
  },
  {
    "path": "src/MainDemo.Wpf/Expander.xaml.cs",
    "chars": 114,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class Expander\n{\n    public Expander() => InitializeComponent();\n}\n"
  },
  {
    "path": "src/MainDemo.Wpf/Fields.xaml",
    "chars": 41511,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Fields\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presen"
  },
  {
    "path": "src/MainDemo.Wpf/Fields.xaml.cs",
    "chars": 377,
    "preview": "using System.Windows.Navigation;\nusing MaterialDesignDemo.Domain;\n\nnamespace MaterialDesignDemo;\n\npublic partial class F"
  },
  {
    "path": "src/MainDemo.Wpf/FieldsLineUp.xaml",
    "chars": 14523,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.FieldsLineUp\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml"
  },
  {
    "path": "src/MainDemo.Wpf/FieldsLineUp.xaml.cs",
    "chars": 5152,
    "preview": "using System.Globalization;\nusing System.Windows.Data;\nusing MaterialDesignThemes.Wpf;\n\nnamespace MaterialDesignDemo;\n\np"
  },
  {
    "path": "src/MainDemo.Wpf/GroupBoxes.xaml",
    "chars": 13486,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.GroupBoxes\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/p"
  },
  {
    "path": "src/MainDemo.Wpf/GroupBoxes.xaml.cs",
    "chars": 118,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class GroupBoxes\n{\n    public GroupBoxes() => InitializeComponent();\n}\n"
  },
  {
    "path": "src/MainDemo.Wpf/Home.xaml",
    "chars": 12811,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Home\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/present"
  },
  {
    "path": "src/MainDemo.Wpf/Home.xaml.cs",
    "chars": 910,
    "preview": "using System.Configuration;\nusing MaterialDesignDemo.Domain;\n\nnamespace MaterialDesignDemo;\n\npublic partial class Home\n"
  },
  {
    "path": "src/MainDemo.Wpf/IconPack.xaml",
    "chars": 11802,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.IconPack\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pre"
  },
  {
    "path": "src/MainDemo.Wpf/IconPack.xaml.cs",
    "chars": 529,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class IconPack\n{\n    public IconPack()\n    {\n        InitializeComponent("
  },
  {
    "path": "src/MainDemo.Wpf/InputElementContentControl.cs",
    "chars": 321,
    "preview": "namespace MaterialDesignDemo;\n\n/// <summary>\n/// ContentControl variation simply used to capture the input elements in "
  },
  {
    "path": "src/MainDemo.Wpf/Lists.xaml",
    "chars": 8332,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Lists\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presen"
  },
  {
    "path": "src/MainDemo.Wpf/Lists.xaml.cs",
    "chars": 211,
    "preview": "using MaterialDesignDemo.Domain;\n\nnamespace MaterialDesignDemo;\n\npublic partial class Lists\n{\n    public Lists()\n    {\n"
  },
  {
    "path": "src/MainDemo.Wpf/MainWindow.xaml",
    "chars": 12131,
    "preview": "<Window x:Class=\"MaterialDesignDemo.MainWindow\"\n        xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentatio"
  },
  {
    "path": "src/MainDemo.Wpf/MainWindow.xaml.cs",
    "chars": 3862,
    "preview": "using System.Diagnostics;\nusing System.Threading;\nusing System.Windows.Media;\nusing MaterialDesignDemo.Domain;\nusing Ma"
  },
  {
    "path": "src/MainDemo.Wpf/MaterialDesignDemo.csproj",
    "chars": 2261,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project Sdk=\"Microsoft.NET.Sdk\">\n  <PropertyGroup>\n    <OutputType>WinExe</Outpu"
  },
  {
    "path": "src/MainDemo.Wpf/MenusAndToolBars.xaml",
    "chars": 16308,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.MenusAndToolBars\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/x"
  },
  {
    "path": "src/MainDemo.Wpf/MenusAndToolBars.xaml.cs",
    "chars": 306,
    "preview": "using MaterialDesignDemo.Domain;\n\nnamespace MaterialDesignDemo;\n\npublic partial class MenusAndToolBars\n{\n    public Men"
  },
  {
    "path": "src/MainDemo.Wpf/NavigationRail.xaml",
    "chars": 34316,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.NavigationRail\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xa"
  },
  {
    "path": "src/MainDemo.Wpf/NavigationRail.xaml.cs",
    "chars": 126,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class NavigationRail\n{\n    public NavigationRail() => InitializeComponent"
  },
  {
    "path": "src/MainDemo.Wpf/NumericUpDown.xaml",
    "chars": 2687,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.NumericUpDown\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml"
  },
  {
    "path": "src/MainDemo.Wpf/NumericUpDown.xaml.cs",
    "chars": 139,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class NumericUpDown : UserControl\n{\n    public NumericUpDown() => Initial"
  },
  {
    "path": "src/MainDemo.Wpf/PackIconKindGroup.cs",
    "chars": 589,
    "preview": "namespace MaterialDesignDemo;\n\npublic class PackIconKindGroup\n{\n    public PackIconKindGroup(IEnumerable<string> kinds)"
  },
  {
    "path": "src/MainDemo.Wpf/Palette.xaml",
    "chars": 2265,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Palette\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pres"
  },
  {
    "path": "src/MainDemo.Wpf/Palette.xaml.cs",
    "chars": 112,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class Palette\n{\n    public Palette() => InitializeComponent();\n}\n"
  },
  {
    "path": "src/MainDemo.Wpf/PaletteSelector.xaml",
    "chars": 6222,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.PaletteSelector\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/x"
  },
  {
    "path": "src/MainDemo.Wpf/PaletteSelector.xaml.cs",
    "chars": 233,
    "preview": "using MaterialDesignDemo.Domain;\n\nnamespace MaterialDesignDemo;\n\npublic partial class PaletteSelector\n{\n    public Pale"
  },
  {
    "path": "src/MainDemo.Wpf/Pickers.xaml",
    "chars": 32014,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Pickers\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pres"
  },
  {
    "path": "src/MainDemo.Wpf/Pickers.xaml.cs",
    "chars": 3646,
    "preview": "using System.Diagnostics;\nusing System.Globalization;\nusing MaterialDesignDemo.Domain;\nusing MaterialDesignThemes.Wpf;\n"
  },
  {
    "path": "src/MainDemo.Wpf/PopupBox.xaml",
    "chars": 12761,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.PopupBox\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pre"
  },
  {
    "path": "src/MainDemo.Wpf/PopupBox.xaml.cs",
    "chars": 2595,
    "preview": "using System.Collections;\nusing System.Globalization;\nusing System.Windows.Data;\nusing MaterialDesignThemes.Wpf;\n\nnames"
  },
  {
    "path": "src/MainDemo.Wpf/Progress.xaml",
    "chars": 17128,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Progress\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pre"
  },
  {
    "path": "src/MainDemo.Wpf/Progress.xaml.cs",
    "chars": 114,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class Progress\n{\n    public Progress() => InitializeComponent();\n}\n"
  },
  {
    "path": "src/MainDemo.Wpf/Properties/AssemblyInfo.cs",
    "chars": 1360,
    "preview": "using System.Runtime.InteropServices;\n\n// Setting ComVisible to false makes the types in this assembly not visible \n// "
  },
  {
    "path": "src/MainDemo.Wpf/Properties/Resources.Designer.cs",
    "chars": 2594,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code w"
  },
  {
    "path": "src/MainDemo.Wpf/Properties/Resources.resx",
    "chars": 5494,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "src/MainDemo.Wpf/Properties/Settings.Designer.cs",
    "chars": 1015,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code w"
  },
  {
    "path": "src/MainDemo.Wpf/Properties/Settings.settings",
    "chars": 193,
    "preview": "<?xml version='1.0' encoding='utf-8'?>\n<SettingsFile xmlns=\"uri:settings\" CurrentProfile=\"(Default)\">\n  <Profiles>\n    "
  },
  {
    "path": "src/MainDemo.Wpf/Properties/launchSettings.json",
    "chars": 165,
    "preview": "{\n    \"profiles\": {\n        \"Demo App\": {\n            \"commandName\": \"Project\",\n            \"commandLineArgs\": \"-p Home "
  },
  {
    "path": "src/MainDemo.Wpf/RatingBar.xaml",
    "chars": 12335,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.RatingBar\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pr"
  },
  {
    "path": "src/MainDemo.Wpf/RatingBar.xaml.cs",
    "chars": 561,
    "preview": "using System.Diagnostics;\n\nnamespace MaterialDesignDemo;\n\npublic partial class RatingBar\n{\n    public RatingBar() => In"
  },
  {
    "path": "src/MainDemo.Wpf/Sliders.xaml",
    "chars": 12561,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Sliders\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pres"
  },
  {
    "path": "src/MainDemo.Wpf/Sliders.xaml.cs",
    "chars": 209,
    "preview": "using MaterialDesignDemo.Domain;\n\nnamespace MaterialDesignDemo;\n\npublic partial class Sliders\n{\n    public Sliders()\n  "
  },
  {
    "path": "src/MainDemo.Wpf/SmartHint.xaml",
    "chars": 140343,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.SmartHint\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pre"
  },
  {
    "path": "src/MainDemo.Wpf/SmartHint.xaml.cs",
    "chars": 5505,
    "preview": "using System.Globalization;\nusing System.Windows.Data;\nusing System.Windows.Media;\nusing MaterialDesignDemo.Domain;\nusi"
  },
  {
    "path": "src/MainDemo.Wpf/Snackbars.xaml",
    "chars": 16107,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Snackbars\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pr"
  },
  {
    "path": "src/MainDemo.Wpf/Snackbars.xaml.cs",
    "chars": 1648,
    "preview": "using System.Diagnostics;\n\nnamespace MaterialDesignDemo;\n\npublic partial class Snackbars\n{\n    public Snackbars() => In"
  },
  {
    "path": "src/MainDemo.Wpf/StatusBars.xaml",
    "chars": 3760,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.StatusBars\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pr"
  },
  {
    "path": "src/MainDemo.Wpf/StatusBars.xaml.cs",
    "chars": 117,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class StatusBars\n{\n    public StatusBars() => InitializeComponent();\n}\n"
  },
  {
    "path": "src/MainDemo.Wpf/Tabs.xaml",
    "chars": 32127,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Tabs\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/present"
  },
  {
    "path": "src/MainDemo.Wpf/Tabs.xaml.cs",
    "chars": 265,
    "preview": "using MaterialDesignDemo.Domain;\n\nnamespace MaterialDesignDemo;\n\n/// <summary>\n/// Interaction logic for Tabs.xaml\n/// "
  },
  {
    "path": "src/MainDemo.Wpf/ThemeSettings.xaml",
    "chars": 3126,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.ThemeSettings\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xam"
  },
  {
    "path": "src/MainDemo.Wpf/ThemeSettings.xaml.cs",
    "chars": 227,
    "preview": "using MaterialDesignDemo.Domain;\n\nnamespace MaterialDesignDemo;\n\npublic partial class ThemeSettings\n{\n    public ThemeS"
  },
  {
    "path": "src/MainDemo.Wpf/Toggles.xaml",
    "chars": 33013,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Toggles\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pres"
  },
  {
    "path": "src/MainDemo.Wpf/Toggles.xaml.cs",
    "chars": 113,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class Toggles\n{\n    public Toggles() => InitializeComponent();\n\n}\n"
  },
  {
    "path": "src/MainDemo.Wpf/ToolTips.xaml",
    "chars": 8977,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.ToolTips\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/pre"
  },
  {
    "path": "src/MainDemo.Wpf/ToolTips.xaml.cs",
    "chars": 302,
    "preview": "using MaterialDesignDemo.Shared.Domain;\n\nnamespace MaterialDesignDemo;\n\n/// <summary>\n/// Interaction logic for ToolTip"
  },
  {
    "path": "src/MainDemo.Wpf/Transitions.xaml",
    "chars": 637,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.Transitions\"\n             xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/"
  },
  {
    "path": "src/MainDemo.Wpf/Transitions.xaml.cs",
    "chars": 120,
    "preview": "namespace MaterialDesignDemo;\n\npublic partial class Transitions\n{\n    public Transitions() => InitializeComponent();\n}\n"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide1_Intro.xaml",
    "chars": 1900,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.TransitionsDemo.Slide1_Intro\"\n             xmlns=\"http://schemas.microsoft.com"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide1_Intro.xaml.cs",
    "chars": 578,
    "preview": "using MaterialDesignDemo.Domain;\nusing MaterialDesignDemo.Shared.Domain;\n\nnamespace MaterialDesignDemo.TransitionsDemo;"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide2_Intro.xaml",
    "chars": 2032,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.TransitionsDemo.Slide2_Intro\"\n             xmlns=\"http://schemas.microsoft.com"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide2_Intro.xaml.cs",
    "chars": 242,
    "preview": "namespace MaterialDesignDemo.TransitionsDemo;\n\n/// <summary>\n/// Interaction logic for Slide2_Intro.xaml\n/// </summary>"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide3_Intro.xaml",
    "chars": 1904,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.TransitionsDemo.Slide3_Intro\"\n             xmlns=\"http://schemas.microsoft.com"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide3_Intro.xaml.cs",
    "chars": 242,
    "preview": "namespace MaterialDesignDemo.TransitionsDemo;\n\n/// <summary>\n/// Interaction logic for Slide3_Intro.xaml\n/// </summary>"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide4_CombineTransitions.xaml",
    "chars": 2183,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.TransitionsDemo.Slide4_CombineTransitions\"\n             xmlns=\"http://schemas."
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide4_CombineTransitions.xaml.cs",
    "chars": 281,
    "preview": "namespace MaterialDesignDemo.TransitionsDemo;\n\n/// <summary>\n/// Interaction logic for Slide4_CombineTransitions.xaml\n/"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide5_TransitioningContent.xaml",
    "chars": 7599,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.TransitionsDemo.Slide5_TransitioningContent\"\n             xmlns=\"http://schema"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide5_TransitioningContent.xaml.cs",
    "chars": 287,
    "preview": "namespace MaterialDesignDemo.TransitionsDemo;\n\n/// <summary>\n/// Interaction logic for Slide5_TransitioningContent.xaml"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide6_Origins.xaml",
    "chars": 2743,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.TransitionsDemo.Slide6_Origins\"\n             xmlns=\"http://schemas.microsoft.c"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide6_Origins.xaml.cs",
    "chars": 507,
    "preview": "namespace MaterialDesignDemo.TransitionsDemo;\n\n/// <summary>\n/// Interaction logic for Slide6_Origins.xaml\n/// </summar"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide7_MVVM.xaml",
    "chars": 2308,
    "preview": "<UserControl x:Class=\"MaterialDesignDemo.TransitionsDemo.Slide7_MVVM\"\n             xmlns=\"http://schemas.microsoft.com/"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide7_MVVM.xaml.cs",
    "chars": 239,
    "preview": "namespace MaterialDesignDemo.TransitionsDemo;\n\n/// <summary>\n/// Interaction logic for Slide7_MVVM.xaml\n/// </summary>\n"
  },
  {
    "path": "src/MainDemo.Wpf/TransitionsDemo/Slide7_MasterModel.cs",
    "chars": 123,
    "preview": "namespace MaterialDesignDemo.TransitionsDemo;\n\npublic class Slide7_MasterModel\n{\n}\n\npublic class Slide8_DetailsModel\n{\n"
  }
]

// ... and 976 more files (download for full content)

About this extraction

This page contains the full source code of the MaterialDesignInXAML/MaterialDesignInXamlToolkit GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1176 files (9.6 MB), approximately 2.6M tokens, and a symbol index with 4211 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!