├── .config └── dotnet-tools.json ├── .devcontainer ├── Dockerfile ├── default.code-workspace └── devcontainer.json ├── .editorconfig ├── .github ├── ISSUE_TEMPLATE │ ├── bug.yml │ └── config.yml ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── SignClientFileList.txt │ └── build.yml ├── .gitignore ├── .gitmodules ├── .vscode ├── extensions.json ├── launch.json ├── settings.json └── tasks.json ├── .vsconfig ├── ApplyXamlStyling.ps1 ├── CODE_OF_CONDUCT.md ├── Contributing.md ├── Directory.Build.props ├── Directory.Build.targets ├── GenerateAllSolution.bat ├── License.md ├── ReadMe.md ├── Windows.Toolkit.Common.props ├── components ├── Animations │ ├── OpenSolution.bat │ ├── samples │ │ ├── Animations.Samples.csproj │ │ ├── Animations.md │ │ ├── AnimationsImplicitSample.xaml │ │ ├── AnimationsImplicitSample.xaml.cs │ │ ├── Assets │ │ │ ├── BigFourSummerHeat2.jpg │ │ │ ├── BisonBadlandsChillin2.jpg │ │ │ ├── ColumbiaRiverGorge.jpg │ │ │ ├── ConnectedAnimations.png │ │ │ ├── GrandTetons.jpg │ │ │ ├── ImplicitAnimations.png │ │ │ ├── MitchellButtes.jpg │ │ │ ├── OregonWineryNamaste.jpg │ │ │ └── RunningDogPacificCity.jpg │ │ ├── ConnectedAnimations.md │ │ ├── ConnectedAnimations │ │ │ ├── FirstPage.xaml │ │ │ ├── FirstPage.xaml.cs │ │ │ ├── SecondPage.xaml │ │ │ ├── SecondPage.xaml.cs │ │ │ ├── ThirdPage.xaml │ │ │ └── ThirdPage.xaml.cs │ │ ├── ConnectedAnimationsSample.xaml │ │ ├── ConnectedAnimationsSample.xaml.cs │ │ └── Dependencies.props │ ├── src │ │ ├── Builders │ │ │ ├── AnimationBuilder.Default.cs │ │ │ ├── AnimationBuilder.External.cs │ │ │ ├── AnimationBuilder.Factories.cs │ │ │ ├── AnimationBuilder.KeyFrames.cs │ │ │ ├── AnimationBuilder.PropertyBuilders.cs │ │ │ ├── AnimationBuilder.Setup.cs │ │ │ ├── AnimationBuilder.cs │ │ │ ├── Helpers │ │ │ │ └── ListBuilder{T}.cs │ │ │ ├── Interfaces │ │ │ │ ├── IKeyFrameInfo.cs │ │ │ │ ├── INormalizedKeyFrameAnimationBuilder{T}.cs │ │ │ │ ├── IPropertyAnimationBuilder{T}.cs │ │ │ │ └── ITimedKeyFrameAnimationBuilder{T}.cs │ │ │ ├── NormalizedKeyFrameAnimationBuilder{T}.Composition.cs │ │ │ ├── NormalizedKeyFrameAnimationBuilder{T}.Xaml.cs │ │ │ ├── NormalizedKeyFrameAnimationBuilder{T}.cs │ │ │ ├── TimedKeyFrameAnimationBuilder{T}.Composition.cs │ │ │ ├── TimedKeyFrameAnimationBuilder{T}.Xaml.cs │ │ │ └── TimedKeyFrameAnimationBuilder{T}.cs │ │ ├── CommunityToolkit.WinUI.Animations.csproj │ │ ├── ConnectedAnimations │ │ │ ├── Connected.cs │ │ │ ├── ConnectedAnimationHelper.cs │ │ │ ├── ConnectedAnimationListProperty.cs │ │ │ └── ConnectedAnimationProperties.cs │ │ ├── Dependencies.props │ │ ├── Enums │ │ │ ├── Axis.cs │ │ │ ├── EasingType.cs │ │ │ ├── FrameworkLayer.cs │ │ │ ├── Side.cs │ │ │ └── VisualProperty.cs │ │ ├── Explicit.cs │ │ ├── Expressions │ │ │ ├── CompositionExtensions.cs │ │ │ ├── ExpressionFunctions.cs │ │ │ ├── ExpressionNodes │ │ │ │ ├── BooleanNode.cs │ │ │ │ ├── ColorNode.cs │ │ │ │ ├── ExpressionNode.cs │ │ │ │ ├── ExpressionNodeType.cs │ │ │ │ ├── Matrix3x2Node.cs │ │ │ │ ├── Matrix4x4Node.Subchannel.cs │ │ │ │ ├── Matrix4x4Node.cs │ │ │ │ ├── QuaternionNode.cs │ │ │ │ ├── ScalarNode.cs │ │ │ │ ├── ValueKeywordKind.cs │ │ │ │ ├── Vector2Node.cs │ │ │ │ ├── Vector3Node.cs │ │ │ │ └── Vector4Node.cs │ │ │ ├── ExpressionValues │ │ │ │ ├── ExpressionValues.Constant.cs │ │ │ │ ├── ExpressionValues.CurrentValue.cs │ │ │ │ ├── ExpressionValues.Reference.cs │ │ │ │ ├── ExpressionValues.StartingValue.cs │ │ │ │ └── ExpressionValues.Target.cs │ │ │ ├── OperationType.cs │ │ │ └── ReferenceNodes │ │ │ │ ├── AmbientLightReferenceNode.cs │ │ │ │ ├── ColorBrushReferenceNode.cs │ │ │ │ ├── DistantLightReferenceNode.cs │ │ │ │ ├── DropShadowReferenceNode.cs │ │ │ │ ├── InsetClipReferenceNode.cs │ │ │ │ ├── InteractionTrackerReferenceNode.cs │ │ │ │ ├── ManipulationPropertySetReferenceNode.cs │ │ │ │ ├── NineGridBrushReferenceNode.cs │ │ │ │ ├── PointLightReferenceNode.cs │ │ │ │ ├── PointerPositionPropertySetReferenceNode.cs │ │ │ │ ├── PropertySetReferenceNode.cs │ │ │ │ ├── ReferenceNode.cs │ │ │ │ ├── SpotLightReferenceNode.cs │ │ │ │ ├── SurfaceBrushReferenceNode.cs │ │ │ │ └── VisualReferenceNode.cs │ │ ├── Extensions │ │ │ ├── AnimationExtensions.cs │ │ │ ├── CompositionObjectExtensions.cs │ │ │ ├── CompositorExtensions.cs │ │ │ ├── DependencyObjectExtensions.cs │ │ │ ├── EasingTypeExtensions.cs │ │ │ ├── ITimedKeyFrameAnimationBuilderExtensions.cs │ │ │ ├── ScrollViewerExtensions.cs │ │ │ ├── StoryboardAnimations.cs │ │ │ └── System │ │ │ │ ├── FloatExtensions.cs │ │ │ │ └── GuidExtensions.cs │ │ ├── Implicit.cs │ │ ├── ItemsReorderAnimation.cs │ │ ├── MultiTarget.props │ │ ├── Options │ │ │ └── RepeatOption.cs │ │ ├── ReadMe.md │ │ └── Xaml │ │ │ ├── Abstract │ │ │ ├── Animation.cs │ │ │ ├── Animation{TValue,TKeyFrame}.cs │ │ │ ├── CustomAnimation{TValue,TKeyFrame}.cs │ │ │ ├── ImplicitAnimation{TValue,TKeyFrame}.cs │ │ │ ├── KeyFrame{TValue,TKeyFrame}.cs │ │ │ └── ShadowAnimation{TValue,TKeyFrame}.cs │ │ │ ├── Activities │ │ │ ├── Activity.cs │ │ │ ├── StartAnimationActivity.cs │ │ │ └── StopAnimationActivity.cs │ │ │ ├── AnimationDictionary.cs │ │ │ ├── AnimationScope.cs │ │ │ ├── AnimationSet.cs │ │ │ ├── Custom │ │ │ ├── ColorAnimation.cs │ │ │ ├── QuaternionAnimation.cs │ │ │ ├── ScalarAnimation.cs │ │ │ ├── Vector2Animation.cs │ │ │ ├── Vector3Animation.cs │ │ │ └── Vector4Animation.cs │ │ │ ├── Default │ │ │ ├── AnchorPointAnimation.cs │ │ │ ├── CenterPointAnimation.cs │ │ │ ├── ClipAnimation.cs │ │ │ ├── OffsetAnimation.cs │ │ │ ├── OpacityAnimation.cs │ │ │ ├── OrientationAnimation.cs │ │ │ ├── RotationAnimation.cs │ │ │ ├── RotationAxisAnimation.cs │ │ │ ├── RotationInDegreesAnimation.cs │ │ │ ├── ScaleAnimation.cs │ │ │ ├── SizeAnimation.cs │ │ │ └── TranslationAnimation.cs │ │ │ ├── ImplicitAnimationSet.cs │ │ │ ├── Interfaces │ │ │ ├── IActivity.cs │ │ │ ├── IAttachedTimeline.cs │ │ │ ├── IImplicitTimeline.cs │ │ │ ├── IKeyFrame{T}.cs │ │ │ └── ITimeline.cs │ │ │ ├── KeyFrames │ │ │ ├── ColorKeyFrame.cs │ │ │ ├── QuaternionKeyFrame.cs │ │ │ ├── ScalarKeyFrame.cs │ │ │ ├── Vector2KeyFrame.cs │ │ │ ├── Vector3KeyFrame.cs │ │ │ └── Vector4KeyFrame.cs │ │ │ └── Shadows │ │ │ ├── BlurRadiusDropShadowAnimation.cs │ │ │ ├── ColorDropShadowAnimation.cs │ │ │ ├── OffsetDropShadowAnimation.cs │ │ │ └── OpacityDropShadowAnimation.cs │ └── tests │ │ ├── Animations.Tests.projitems │ │ ├── Animations.Tests.shproj │ │ ├── Test_AnimationBuilderStart.cs │ │ └── Test_ExpressionFunctions.cs ├── Behaviors │ ├── OpenSolution.bat │ ├── samples │ │ ├── AnimationSet.md │ │ ├── Assets │ │ │ ├── AnimationSet.png │ │ │ ├── Behaviors.png │ │ │ ├── HeaderBehaviors.png │ │ │ ├── StackedNotificationsBehavior.png │ │ │ └── ToolkitIcon.png │ │ ├── AutoSelectBehaviorSample.xaml │ │ ├── AutoSelectBehaviorSample.xaml.cs │ │ ├── Behaviors.Samples.csproj │ │ ├── Behaviors.md │ │ ├── Dependencies.props │ │ ├── FocusBehaviorButtonSample.xaml │ │ ├── FocusBehaviorButtonSample.xaml.cs │ │ ├── FocusBehaviorListSample.xaml │ │ ├── FocusBehaviorListSample.xaml.cs │ │ ├── HeaderBehaviors.md │ │ ├── Headers │ │ │ ├── FadeHeaderBehaviorSample.xaml │ │ │ ├── FadeHeaderBehaviorSample.xaml.cs │ │ │ ├── QuickReturnHeaderBehaviorSample.xaml │ │ │ ├── QuickReturnHeaderBehaviorSample.xaml.cs │ │ │ ├── QuickReturnScrollViewerSample.xaml │ │ │ ├── QuickReturnScrollViewerSample.xaml.cs │ │ │ ├── StickyHeaderBehaviorSample.xaml │ │ │ ├── StickyHeaderBehaviorSample.xaml.cs │ │ │ ├── StickyHeaderItemsControlSample.xaml │ │ │ └── StickyHeaderItemsControlSample.xaml.cs │ │ ├── InvokeActionsSample.xaml │ │ ├── InvokeActionsSample.xaml.cs │ │ ├── KeyDownTriggerBehaviorSample.xaml │ │ ├── KeyDownTriggerBehaviorSample.xaml.cs │ │ ├── NavigateToUriActionSample.xaml │ │ ├── NavigateToUriActionSample.xaml.cs │ │ ├── Notifications │ │ │ ├── StackedNotificationsBehaviorCustomSample.xaml │ │ │ ├── StackedNotificationsBehaviorCustomSample.xaml.cs │ │ │ ├── StackedNotificationsBehaviorToolkitSample.xaml │ │ │ └── StackedNotificationsBehaviorToolkitSample.xaml.cs │ │ ├── StackedNotificationsBehavior.md │ │ ├── StartAnimationActivitySample.xaml │ │ ├── StartAnimationActivitySample.xaml.cs │ │ ├── ViewportBehaviorSample.xaml │ │ └── ViewportBehaviorSample.xaml.cs │ ├── src │ │ ├── Animations │ │ │ ├── AnimationCompletedTriggerBehavior.cs │ │ │ ├── AnimationStartedTriggerBehavior.cs │ │ │ ├── InvokeActionsActivity.cs │ │ │ ├── StartAnimationAction.cs │ │ │ └── StopAnimationAction.cs │ │ ├── ApiInformationHelper.cs │ │ ├── BehaviorBase.cs │ │ ├── CommunityToolkit.WinUI.Behaviors.csproj │ │ ├── Dependencies.props │ │ ├── FocusBehavior.cs │ │ ├── FocusTarget.cs │ │ ├── FocusTargetList.cs │ │ ├── Headers │ │ │ ├── FadeHeaderBehavior.cs │ │ │ ├── HeaderBehaviorBase.cs │ │ │ ├── QuickReturnHeaderBehavior.cs │ │ │ └── StickyHeaderBehavior.cs │ │ ├── Keyboard │ │ │ └── KeyDownTriggerBehavior.cs │ │ ├── MultiTarget.props │ │ ├── NavigateToUriAction.cs │ │ ├── Notification │ │ │ ├── Notification.cs │ │ │ └── StackedNotificationsBehavior.cs │ │ ├── ReadMe.md │ │ ├── Select │ │ │ └── AutoSelectBehavior.cs │ │ └── Viewport │ │ │ ├── ViewportBehavior.Properties.cs │ │ │ └── ViewportBehavior.cs │ └── tests │ │ ├── Behaviors.Tests.projitems │ │ ├── Behaviors.Tests.shproj │ │ ├── StackedNotificationsBehaviorTestClass.cs │ │ ├── StackedNotificationsBehaviorsTestPage.xaml │ │ └── StackedNotificationsBehaviorsTestPage.xaml.cs ├── CameraPreview │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ └── CameraPreview.png │ │ ├── CameraPreview.Samples.csproj │ │ ├── CameraPreview.md │ │ ├── CameraPreviewSample.xaml │ │ ├── CameraPreviewSample.xaml.cs │ │ └── Dependencies.props │ ├── src │ │ ├── CameraPreview.Constants.cs │ │ ├── CameraPreview.Events.cs │ │ ├── CameraPreview.Properties.cs │ │ ├── CameraPreview.cs │ │ ├── CameraPreview.xaml │ │ ├── CommunityToolkit.WinUI.Controls.CameraPreview.csproj │ │ ├── Dependencies.props │ │ ├── MultiTarget.props │ │ ├── PreviewFailedEventArgs.cs │ │ ├── ReadMe.md │ │ └── Themes │ │ │ └── Generic.xaml │ └── tests │ │ ├── CameraPreview.Tests.projitems │ │ └── CameraPreview.Tests.shproj ├── Collections │ ├── OpenSolution.bat │ ├── samples │ │ ├── AdvancedCollectionView.md │ │ ├── AdvancedCollectionViewSample.xaml │ │ ├── AdvancedCollectionViewSample.xaml.cs │ │ ├── Assets │ │ │ ├── AdvancedCollectionView.png │ │ │ ├── AppIcon.png │ │ │ └── IncrementalLoadingCollection.png │ │ ├── Collections.Samples.csproj │ │ ├── Dependencies.props │ │ ├── IncrementalLoadingCollection.md │ │ ├── IncrementalLoadingCollectionSample.xaml │ │ └── IncrementalLoadingCollectionSample.xaml.cs │ ├── src │ │ ├── AdvancedCollectionView │ │ │ ├── AdvancedCollectionView.Defer.cs │ │ │ ├── AdvancedCollectionView.Events.cs │ │ │ ├── AdvancedCollectionView.cs │ │ │ ├── IAdvancedCollectionView.cs │ │ │ ├── SortDescription.cs │ │ │ ├── SortDirection.cs │ │ │ └── VectorChangedEventArgs.cs │ │ ├── CommunityToolkit.WinUI.Collections.csproj │ │ ├── Dependencies.props │ │ ├── IncrementalLoadingCollection │ │ │ ├── IIncrementalSource.cs │ │ │ └── IncrementalLoadingCollection.cs │ │ ├── MultiTarget.props │ │ └── ReadMe.md │ └── tests │ │ ├── Collections.Tests.projitems │ │ ├── Collections.Tests.shproj │ │ ├── DataSource.cs │ │ ├── Test_AdvancedCollectionView.cs │ │ └── Test_IncrementalLoadingCollection.cs ├── ColorPicker │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ └── ColorPicker.png │ │ ├── ColorPicker.Samples.csproj │ │ ├── ColorPicker.md │ │ ├── ColorPickerButtonSample.xaml │ │ ├── ColorPickerButtonSample.xaml.cs │ │ ├── ColorPickerSample.xaml │ │ ├── ColorPickerSample.xaml.cs │ │ └── Dependencies.props │ ├── src │ │ ├── ColorChannel.cs │ │ ├── ColorPicker.Properties.cs │ │ ├── ColorPicker.cs │ │ ├── ColorPicker.xaml │ │ ├── ColorPickerButton.cs │ │ ├── ColorPickerButton.xaml │ │ ├── ColorPickerRenderingHelpers.cs │ │ ├── ColorPickerSlider.Properties.cs │ │ ├── ColorPickerSlider.cs │ │ ├── ColorPickerSlider.xaml │ │ ├── ColorPreviewer.Properties.cs │ │ ├── ColorPreviewer.cs │ │ ├── ColorPreviewer.xaml │ │ ├── ColorRepresentation.cs │ │ ├── CommunityToolkit.WinUI.Controls.ColorPicker.csproj │ │ ├── Converters │ │ │ ├── AccentColorConverter.cs │ │ │ ├── ColorToHexConverter.cs │ │ │ ├── ContrastBrushConverter.cs │ │ │ └── NullToTransparentConverter.cs │ │ ├── Dependencies.props │ │ ├── FluentColorPalette.cs │ │ ├── IColorPalette.cs │ │ ├── MultiTarget.props │ │ └── Themes │ │ │ └── Generic.xaml │ └── tests │ │ ├── ColorPicker.Tests.projitems │ │ ├── ColorPicker.Tests.shproj │ │ ├── ExampleColorPickerTestClass.cs │ │ ├── ExampleColorPickerTestPage.xaml │ │ └── ExampleColorPickerTestPage.xaml.cs ├── Converters │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ └── Converters.png │ │ ├── BoolNegationConverterSample.xaml │ │ ├── BoolNegationConverterSample.xaml.cs │ │ ├── BoolToObjectConverterSample.xaml │ │ ├── BoolToObjectConverterSample.xaml.cs │ │ ├── BoolToVisibilityConverterSample.xaml │ │ ├── BoolToVisibilityConverterSample.xaml.cs │ │ ├── CollectionVisibilityConverterSample.xaml │ │ ├── CollectionVisibilityConverterSample.xaml.cs │ │ ├── ColorToDisplayNameConverterSample.xaml │ │ ├── ColorToDisplayNameConverterSample.xaml.cs │ │ ├── Converters.Samples.csproj │ │ ├── Converters.md │ │ ├── Dependencies.props │ │ ├── DoubleToObjectConverterSample.xaml │ │ ├── DoubleToObjectConverterSample.xaml.cs │ │ ├── DoubleToVisibilityConverterSample.xaml │ │ ├── DoubleToVisibilityConverterSample.xaml.cs │ │ ├── EmptyStringToObjectConverterSample.xaml │ │ ├── EmptyStringToObjectConverterSample.xaml.cs │ │ ├── FileSizeToFriendlyStringConverterSample.xaml │ │ ├── FileSizeToFriendlyStringConverterSample.xaml.cs │ │ ├── StringFormatConverterSample.xaml │ │ ├── StringFormatConverterSample.xaml.cs │ │ ├── StringVisibilityConverterSample.xaml │ │ ├── StringVisibilityConverterSample.xaml.cs │ │ ├── TypeToObjectConverterSample.xaml │ │ ├── TypeToObjectConverterSample.xaml.cs │ │ ├── VisibilityToBoolConverterSample.xaml │ │ └── VisibilityToBoolConverterSample.xaml.cs │ ├── src │ │ ├── BoolNegationConverter.cs │ │ ├── BoolToObjectConverter.cs │ │ ├── BoolToVisibilityConverter.cs │ │ ├── CollectionVisibilityConverter.cs │ │ ├── ColorToDisplayNameConverter.cs │ │ ├── CommunityToolkit.WinUI.Converters.csproj │ │ ├── ConverterTools.cs │ │ ├── Dependencies.props │ │ ├── DoubleToObjectConverter.cs │ │ ├── DoubleToVisibilityConverter.cs │ │ ├── EmptyCollectionToObjectConverter.cs │ │ ├── EmptyObjectToObjectConverter.cs │ │ ├── EmptyStringToObjectConverter.cs │ │ ├── FileSizeToFriendlyStringConverter.cs │ │ ├── IFormattableToStringConverter.cs │ │ ├── MultiTarget.props │ │ ├── ReadMe.md │ │ ├── ResourceNameToResourceStringConverter.cs │ │ ├── StringFormatConverter.cs │ │ ├── StringVisibilityConverter.cs │ │ ├── TaskResultConverter.cs │ │ ├── TypeToObjectConverter.cs │ │ └── VisibilityToBoolConverter.cs │ └── tests │ │ ├── Converters.Tests.projitems │ │ ├── Converters.Tests.shproj │ │ ├── Test_BoolToObjectConverter.cs │ │ ├── Test_DoubleToObjectConverter.cs │ │ ├── Test_EmptyCollectionToObjectConverter.cs │ │ ├── Test_EmptyStringToObjectConverter.cs │ │ ├── Test_StringFormatConverter.cs │ │ ├── Test_TaskResultConverter.cs │ │ └── Test_TypeToObjectConverter.cs ├── DeveloperTools │ ├── OpenSolution.bat │ ├── samples │ │ ├── AlignmentGridSample.xaml │ │ ├── AlignmentGridSample.xaml.cs │ │ ├── Assets │ │ │ └── DeveloperTools.png │ │ ├── Dependencies.props │ │ ├── DeveloperTools.Samples.csproj │ │ ├── DeveloperTools.md │ │ ├── FocusTrackerSample.xaml │ │ └── FocusTrackerSample.xaml.cs │ ├── src │ │ ├── AlignmentGrid.cs │ │ ├── CommunityToolkit.WinUI.DeveloperTools.csproj │ │ ├── Dependencies.props │ │ ├── FocusTracker │ │ │ ├── FocusTracker.cs │ │ │ └── FocusTracker.xaml │ │ ├── MultiTarget.props │ │ ├── ReadMe.md │ │ └── Themes │ │ │ └── Generic.xaml │ └── tests │ │ ├── DeveloperTools.Tests.projitems │ │ └── DeveloperTools.Tests.shproj ├── Extensions │ ├── OpenSolution.bat │ ├── samples │ │ ├── ArrayExtensions.md │ │ ├── Assets │ │ │ ├── Extensions.png │ │ │ ├── Llama.jpg │ │ │ ├── Shadow.png │ │ │ └── ShadowAnimation.png │ │ ├── AttachedDropShadow.md │ │ ├── AttachedShadows.md │ │ ├── ClipToBoundsSample.xaml │ │ ├── ClipToBoundsSample.xaml.cs │ │ ├── Dependencies.props │ │ ├── DependencyObjectExtensions.md │ │ ├── Dispatcher │ │ │ ├── KeyboardDebounceSample.xaml │ │ │ ├── KeyboardDebounceSample.xaml.cs │ │ │ ├── MouseDebounceSample.xaml │ │ │ └── MouseDebounceSample.xaml.cs │ │ ├── DispatcherQueueExtensions.md │ │ ├── DispatcherQueueTimerExtensions.md │ │ ├── EnumValuesExtension.md │ │ ├── Extensions.Samples.csproj │ │ ├── FrameworkElementAncestorSample.xaml │ │ ├── FrameworkElementAncestorSample.xaml.cs │ │ ├── FrameworkElementExtensions.md │ │ ├── HyperlinkExtensions.md │ │ ├── IconMarkupExtensions.md │ │ ├── ListViewExtensions.md │ │ ├── ListViewExtensions │ │ │ ├── SmoothScrollIntoViewSample.xaml │ │ │ └── SmoothScrollIntoViewSample.xaml.cs │ │ ├── ListViewExtensionsAlternateColorSample.xaml │ │ ├── ListViewExtensionsAlternateColorSample.xaml.cs │ │ ├── MatrixExtensions.md │ │ ├── NullableBoolExtension.md │ │ ├── OnDeviceExtension.md │ │ ├── ScrollViewerExtensions.md │ │ ├── ShadowAnimations.md │ │ ├── Shadows │ │ │ ├── AttachedDropShadowBasicSample.xaml │ │ │ ├── AttachedDropShadowBasicSample.xaml.cs │ │ │ ├── AttachedDropShadowResourceSample.xaml │ │ │ ├── AttachedDropShadowResourceSample.xaml.cs │ │ │ ├── AttachedDropShadowStyleSample.xaml │ │ │ └── AttachedDropShadowStyleSample.xaml.cs │ │ ├── StringExtensions.md │ │ ├── TextBoxExtensions.md │ │ ├── TextBoxExtensions │ │ │ ├── RegexSample.xaml │ │ │ ├── RegexSample.xaml.cs │ │ │ ├── SurfaceDialOptionsSample.xaml │ │ │ ├── SurfaceDialOptionsSample.xaml.cs │ │ │ ├── TextBoxMaskSample.xaml │ │ │ └── TextBoxMaskSample.xaml.cs │ │ ├── TransformExtensions.md │ │ ├── UIElementExtensions.md │ │ └── VisualExtensions.md │ ├── src │ │ ├── ArgumentNullExceptionExtensions.cs │ │ ├── CommunityToolkit.WinUI.Extensions.csproj │ │ ├── Dependencies.props │ │ ├── Dispatcher │ │ │ ├── DispatcherQueueExtensions.cs │ │ │ └── DispatcherQueueTimerExtensions.cs │ │ ├── Element │ │ │ ├── FrameworkElementExtensions.ActualSize.cs │ │ │ ├── FrameworkElementExtensions.Mouse.cs │ │ │ ├── FrameworkElementExtensions.RelativeAncestor.cs │ │ │ └── UIElementExtensions.cs │ │ ├── Events │ │ │ └── TypedEventHandlerExtensions.cs │ │ ├── Foundation │ │ │ ├── PointExtensions.cs │ │ │ ├── RectExtensions.cs │ │ │ └── SizeExtensions.cs │ │ ├── ListViewBase │ │ │ ├── ItemContainerStretchDirection.cs │ │ │ ├── ListViewExtensions.AlternateRows.cs │ │ │ ├── ListViewExtensions.Command.cs │ │ │ ├── ListViewExtensions.Selection.cs │ │ │ ├── ListViewExtensions.SmoothScrollIntoView.cs │ │ │ ├── ListViewExtensions.StretchItemContainer.cs │ │ │ └── ScrollItemPlacement.cs │ │ ├── Markup │ │ │ ├── Abstract │ │ │ │ └── TextIconExtension.cs │ │ │ ├── BitmapIconExtension.cs │ │ │ ├── BitmapIconSourceExtension.cs │ │ │ ├── EnumValuesExtension.cs │ │ │ ├── FontIconExtension.cs │ │ │ ├── FontIconSourceExtension.cs │ │ │ ├── NullableBoolExtension.cs │ │ │ ├── OnDeviceExtension.cs │ │ │ ├── SymbolIconExtension.cs │ │ │ └── SymbolIconSourceExtension.cs │ │ ├── Media │ │ │ ├── MatrixExtensions.cs │ │ │ ├── RotateTransformExtensions.cs │ │ │ ├── ScaleTransformExtensions.cs │ │ │ ├── SkewTransformExtensions.cs │ │ │ ├── TranslateTransformExtensions.cs │ │ │ └── VisualExtensions.cs │ │ ├── MultiTarget.props │ │ ├── ReadMe.md │ │ ├── ScrollViewer │ │ │ ├── ScrollViewerExtensions.Properties.cs │ │ │ └── ScrollViewerExtensions.cs │ │ ├── Shadows │ │ │ ├── AttachedDropShadow.cs │ │ │ ├── AttachedShadowBase.cs │ │ │ ├── AttachedShadowElementContext.cs │ │ │ ├── Effects.cs │ │ │ ├── IAlphaMaskProvider.cs │ │ │ ├── IAttachedShadow.cs │ │ │ └── TypedResourceKey.cs │ │ ├── Text │ │ │ ├── HyperlinkExtensions.cs │ │ │ ├── StringExtensions.Localization.cs │ │ │ ├── StringExtensions.Numerics.cs │ │ │ ├── SurfaceDialOptions.cs │ │ │ ├── TextBoxExtensions.Mask.Internals.cs │ │ │ ├── TextBoxExtensions.Mask.Properties.cs │ │ │ ├── TextBoxExtensions.Regex.Data.cs │ │ │ ├── TextBoxExtensions.Regex.Internals.cs │ │ │ ├── TextBoxExtensions.Regex.Properties.cs │ │ │ └── TextBoxExtensions.SurfaceDial.cs │ │ └── Tree │ │ │ ├── DependencyObjectExtensions.cs │ │ │ ├── FrameworkElementExtensions.LogicalTree.cs │ │ │ └── Predicates │ │ │ ├── Interfaces │ │ │ └── IPredicate{T}.cs │ │ │ ├── PredicateByAny{T}.cs │ │ │ ├── PredicateByFunc{T,TState}.cs │ │ │ ├── PredicateByFunc{T}.cs │ │ │ ├── PredicateByName.cs │ │ │ └── PredicateByType.cs │ └── tests │ │ ├── AttachedDropShadowTestPage.xaml │ │ ├── AttachedDropShadowTestPage.xaml.cs │ │ ├── AttachedDropShadowTests.cs │ │ ├── BitmapIconExtensionTestPage.xaml │ │ ├── BitmapIconExtensionTestPage.xaml.cs │ │ ├── BitmapIconExtensionTests.cs │ │ ├── DispatcherQueueExtensionTests.cs │ │ ├── DispatcherQueueTimerExtensionTests.cs │ │ ├── Element │ │ ├── FrameworkElementExtensionsTests.RelativeAncestor.cs │ │ ├── FrameworkElementRelativeAncestorDataTemplateTestPage.xaml │ │ └── FrameworkElementRelativeAncestorDataTemplateTestPage.xaml.cs │ │ ├── Extensions.Tests.projitems │ │ ├── Extensions.Tests.shproj │ │ ├── Helpers │ │ └── ObjectWithNullableBoolProperty.cs │ │ ├── Test_EnumValuesExtension.cs │ │ ├── Test_FontIconExtensionMarkupExtension.cs │ │ ├── Test_FontIconSourceExtensionMarkupExtension.cs │ │ ├── Test_LogicalTreeExtensions.cs │ │ ├── Test_NullableBoolMarkupExtension.cs │ │ ├── Test_PointExtensions.cs │ │ ├── Test_RectExtensions.cs │ │ ├── Test_SizeExtensions.cs │ │ ├── Test_StringExtensions.cs │ │ ├── Test_UIElementExtensions_Coordinates.cs │ │ ├── Test_VisualExtensions.cs │ │ └── Test_VisualTreeExtensions.cs ├── HeaderedControls │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ ├── BisonBadlandsChillin.jpg │ │ │ ├── HeaderedContentControl.png │ │ │ ├── HeaderedItemsControl.png │ │ │ ├── HeaderedTreeView.png │ │ │ └── Sunny.png │ │ ├── Dependencies.props │ │ ├── HeaderedContentControl.md │ │ ├── HeaderedContentControlComplexSample.xaml │ │ ├── HeaderedContentControlComplexSample.xaml.cs │ │ ├── HeaderedContentControlImageSample.xaml │ │ ├── HeaderedContentControlImageSample.xaml.cs │ │ ├── HeaderedContentControlSample.xaml │ │ ├── HeaderedContentControlSample.xaml.cs │ │ ├── HeaderedContentControlTextSample.xaml │ │ ├── HeaderedContentControlTextSample.xaml.cs │ │ ├── HeaderedControls.Samples.csproj │ │ ├── HeaderedItemsControl.md │ │ ├── HeaderedItemsControlSample.xaml │ │ ├── HeaderedItemsControlSample.xaml.cs │ │ ├── HeaderedTreeView.md │ │ ├── HeaderedTreeViewSample.xaml │ │ └── HeaderedTreeViewSample.xaml.cs │ ├── src │ │ ├── CommunityToolkit.WinUI.Controls.HeaderedControls.csproj │ │ ├── Dependencies.props │ │ ├── HeaderedContentControl │ │ │ ├── HeaderedContentControl.cs │ │ │ └── HeaderedContentControl.xaml │ │ ├── HeaderedItemsControl │ │ │ ├── HeaderedItemsControl.cs │ │ │ └── HeaderedItemsControl.xaml │ │ ├── HeaderedTreeView │ │ │ ├── HeaderedTreeView.cs │ │ │ └── HeaderedTreeView.xaml │ │ ├── MultiTarget.props │ │ ├── ReadMe.md │ │ └── Themes │ │ │ └── Generic.xaml │ └── tests │ │ ├── HeaderedContentControlTestClass.cs │ │ ├── HeaderedContentControlTestPage.xaml │ │ ├── HeaderedContentControlTestPage.xaml.cs │ │ ├── HeaderedControls.Tests.projitems │ │ ├── HeaderedControls.Tests.shproj │ │ ├── HeaderedItemsControlTestClass.cs │ │ ├── HeaderedItemsControlTestPage.xaml │ │ ├── HeaderedItemsControlTestPage.xaml.cs │ │ ├── HeaderedTreeViewTestClass.cs │ │ ├── HeaderedTreeViewTestPage.xaml │ │ └── HeaderedTreeViewTestPage.xaml.cs ├── Helpers │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ ├── CameraHelper.png │ │ │ ├── ColorHelper.png │ │ │ ├── NetworkHelper.png │ │ │ ├── ScreenUnitHelper.png │ │ │ ├── ThemeListener.png │ │ │ └── WeakEventListener.png │ │ ├── CameraHelper.md │ │ ├── CameraHelperSample.xaml │ │ ├── CameraHelperSample.xaml.cs │ │ ├── ColorHelper.md │ │ ├── Dependencies.props │ │ ├── DesignTimeHelper.md │ │ ├── Helpers.Samples.csproj │ │ ├── NetworkHelper.md │ │ ├── NetworkHelperSample.xaml │ │ ├── NetworkHelperSample.xaml.cs │ │ ├── ScreenUnitHelper.md │ │ ├── ThemeListener.md │ │ ├── ThemeListenerSample.xaml │ │ ├── ThemeListenerSample.xaml.cs │ │ └── WeakEventListener.md │ ├── src │ │ ├── CameraHelper │ │ │ ├── CameraHelper.cs │ │ │ ├── CameraHelperResult.cs │ │ │ └── FrameEventArgs.cs │ │ ├── ColorHelper │ │ │ ├── ColorHelper.cs │ │ │ ├── HslColor.cs │ │ │ └── HsvColor.cs │ │ ├── CommunityToolkit.WinUI.Helpers.csproj │ │ ├── CompositionTargetHelper.cs │ │ ├── Dependencies.props │ │ ├── DesignTimeHelpers.cs │ │ ├── MultiTarget.props │ │ ├── NetworkHelper │ │ │ ├── ConnectionInformation.cs │ │ │ ├── ConnectionType.cs │ │ │ └── NetworkHelper.cs │ │ ├── PackageVersionHelper.cs │ │ ├── ReadMe.md │ │ ├── ScreenUnitHelper │ │ │ ├── ScreenUnit.cs │ │ │ └── ScreenUnitHelper.cs │ │ ├── ThemeListener.cs │ │ └── WeakEventListener.cs │ └── tests │ │ ├── Helpers.Tests.projitems │ │ ├── Helpers.Tests.shproj │ │ ├── Test_ColorHelper.cs │ │ ├── Test_ConnectionHelper.cs │ │ ├── Test_ScreenUnitHelper.cs │ │ └── Test_WeakEventListener.cs ├── ImageCropper │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ ├── ImageCropper.png │ │ │ └── Owl.jpg │ │ ├── Dependencies.props │ │ ├── ImageCropper.Samples.csproj │ │ ├── ImageCropper.md │ │ ├── ImageCropperOverlaySample.xaml │ │ ├── ImageCropperOverlaySample.xaml.cs │ │ ├── ImageCropperSample.xaml │ │ └── ImageCropperSample.xaml.cs │ ├── src │ │ ├── BitmapFileFormat.cs │ │ ├── CommunityToolkit.WinUI.Controls.ImageCropper.csproj │ │ ├── CropShape.cs │ │ ├── Dependencies.props │ │ ├── ImageCropper.Animations.cs │ │ ├── ImageCropper.Constants.cs │ │ ├── ImageCropper.Events.cs │ │ ├── ImageCropper.Helpers.cs │ │ ├── ImageCropper.Logic.cs │ │ ├── ImageCropper.Properties.cs │ │ ├── ImageCropper.cs │ │ ├── ImageCropper.xaml │ │ ├── ImageCropperThumb.cs │ │ ├── ImageCropperThumb.xaml │ │ ├── MultiTarget.props │ │ ├── ReadMe.md │ │ ├── Themes │ │ │ └── Generic.xaml │ │ ├── ThumbPlacement.cs │ │ └── ThumbPosition.cs │ └── tests │ │ ├── ImageCropper.Tests.projitems │ │ └── ImageCropper.Tests.shproj ├── LayoutTransformControl │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ └── LayoutTransformControl.png │ │ ├── Dependencies.props │ │ ├── LayoutTransformControl.Samples.csproj │ │ ├── LayoutTransformControl.md │ │ ├── LayoutTransformControlSample.xaml │ │ └── LayoutTransformControlSample.xaml.cs │ ├── src │ │ ├── CommunityToolkit.WinUI.Controls.LayoutTransformControl.csproj │ │ ├── Dependencies.props │ │ ├── LayoutTransformControl.Properties.cs │ │ ├── LayoutTransformControl.cs │ │ ├── LayoutTransformControl.xaml │ │ ├── MultiTarget.props │ │ ├── PropertyChangeEventSource.cs │ │ ├── ReadMe.md │ │ └── Themes │ │ │ └── Generic.xaml │ └── tests │ │ ├── LayoutTransformControl.Tests.projitems │ │ └── LayoutTransformControl.Tests.shproj ├── Media │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ ├── Bloom.jpg │ │ │ ├── BrushAssets │ │ │ │ ├── PolkaDotsBackground.jpg │ │ │ │ └── Trex.png │ │ │ ├── EffectAnimations.png │ │ │ ├── MediaBrushes.png │ │ │ └── OwlShadow.jpg │ │ ├── AttachedCardShadow.md │ │ ├── BlurEffectAnimationSample.xaml │ │ ├── BlurEffectAnimationSample.xaml.cs │ │ ├── Brushes.md │ │ ├── Brushes │ │ │ ├── AcrylicBrushSample.xaml │ │ │ ├── AcrylicBrushSample.xaml.cs │ │ │ ├── BackdropBlurBrushSample.xaml │ │ │ ├── BackdropBlurBrushSample.xaml.cs │ │ │ ├── BackdropGammaTransferBrushSample.xaml │ │ │ ├── BackdropGammaTransferBrushSample.xaml.cs │ │ │ ├── BackdropInvertBrushSample.xaml │ │ │ ├── BackdropInvertBrushSample.xaml.cs │ │ │ ├── BackdropSaturationBrushSample.xaml │ │ │ ├── BackdropSaturationBrushSample.xaml.cs │ │ │ ├── BackdropSepiaBrushSample.xaml │ │ │ ├── BackdropSepiaBrushSample.xaml.cs │ │ │ ├── ImageBlendBrushSample.xaml │ │ │ ├── ImageBlendBrushSample.xaml.cs │ │ │ ├── PipelineBrushSample.xaml │ │ │ ├── PipelineBrushSample.xaml.cs │ │ │ ├── PipelineVisualFactorySample.xaml │ │ │ ├── PipelineVisualFactorySample.xaml.cs │ │ │ ├── TilesBrushSample.xaml │ │ │ └── TilesBrushSample.xaml.cs │ │ ├── ColorEffectAnimationSample.xaml │ │ ├── ColorEffectAnimationSample.xaml.cs │ │ ├── CrossFadeEffectAnimationSample.xaml │ │ ├── CrossFadeEffectAnimationSample.xaml.cs │ │ ├── Dependencies.props │ │ ├── EffectAnimations.md │ │ ├── EffectAnimationsSample.xaml │ │ ├── EffectAnimationsSample.xaml.cs │ │ ├── EffectAnimationsSampleOptions.xaml │ │ ├── EffectAnimationsSampleOptions.xaml.cs │ │ ├── ExposureEffectAnimationSample.xaml │ │ ├── ExposureEffectAnimationSample.xaml.cs │ │ ├── HueRotationEffectAnimationSample.xaml │ │ ├── HueRotationEffectAnimationSample.xaml.cs │ │ ├── Media.Samples.csproj │ │ ├── OpacityEffectAnimationSample.xaml │ │ ├── OpacityEffectAnimationSample.xaml.cs │ │ ├── PipelineBrush.md │ │ ├── PipelineVisualFactory.md │ │ ├── SaturationEffectAnimationSample.xaml │ │ ├── SaturationEffectAnimationSample.xaml.cs │ │ ├── SepiaEffectAnimationSample.xaml │ │ ├── SepiaEffectAnimationSample.xaml.cs │ │ └── Shadows │ │ │ ├── AttachedCardShadowBasicSample.xaml │ │ │ ├── AttachedCardShadowBasicSample.xaml.cs │ │ │ ├── AttachedCardShadowUntemplatedSample.xaml │ │ │ └── AttachedCardShadowUntemplatedSample.xaml.cs │ ├── src │ │ ├── Animations │ │ │ ├── Abstract │ │ │ │ └── EffectAnimation{TEffect,TValue,TKeyFrame}.cs │ │ │ ├── BlurEffectAnimation.cs │ │ │ ├── ColorEffectAnimation.cs │ │ │ ├── CrossFadeEffectAnimation.cs │ │ │ ├── ExposureEffectAnimation.cs │ │ │ ├── HueRotationEffectAnimation.cs │ │ │ ├── OpacityEffectAnimation.cs │ │ │ ├── SaturationEffectAnimation.cs │ │ │ └── SepiaEffectAnimation.cs │ │ ├── Brushes │ │ │ ├── AcrylicBrush.cs │ │ │ ├── BackdropBlurBrush.cs │ │ │ ├── BackdropGammaTransferBrush.cs │ │ │ ├── BackdropInvertBrush.cs │ │ │ ├── BackdropSaturationBrush.cs │ │ │ ├── BackdropSepiaBrush.cs │ │ │ ├── Base │ │ │ │ └── XamlCompositionEffectBrushBase.cs │ │ │ ├── CanvasBrushBase.cs │ │ │ ├── ImageBlendBrush.cs │ │ │ ├── PipelineBrush.cs │ │ │ ├── TilesBrush.cs │ │ │ └── XamlCompositionBrush.cs │ │ ├── CommunityToolkit.WinUI.Media.csproj │ │ ├── Dependencies.props │ │ ├── Effects │ │ │ ├── Abstract │ │ │ │ ├── ImageSourceBaseExtension.cs │ │ │ │ └── PipelineEffect.cs │ │ │ ├── BlendEffect.cs │ │ │ ├── BlurEffect.cs │ │ │ ├── CrossFadeEffect.cs │ │ │ ├── ExposureEffect.cs │ │ │ ├── Extensions │ │ │ │ ├── AcrylicSourceExtension.cs │ │ │ │ ├── BackdropSourceExtension.cs │ │ │ │ ├── ImageSourceExtension.cs │ │ │ │ ├── SolidColorSourceExtension.cs │ │ │ │ └── TileSourceExtension.cs │ │ │ ├── GrayscaleEffect.cs │ │ │ ├── HueRotationEffect.cs │ │ │ ├── Interfaces │ │ │ │ └── IPipelineEffect.cs │ │ │ ├── InvertEffect.cs │ │ │ ├── LuminanceToAlphaEffect.cs │ │ │ ├── OpacityEffect.cs │ │ │ ├── SaturationEffect.cs │ │ │ ├── SepiaEffect.cs │ │ │ ├── ShadeEffect.cs │ │ │ ├── TemperatureAndTintEffect.cs │ │ │ └── TintEffect.cs │ │ ├── Enums │ │ │ ├── AlphaMode.cs │ │ │ ├── CacheMode.cs │ │ │ ├── DpiMode.cs │ │ │ ├── ImageBlendMode.cs │ │ │ ├── InnerContentClipMode.cs │ │ │ └── Placement.cs │ │ ├── Extensions │ │ │ ├── System.Collections.Generic │ │ │ │ └── GenericExtensions.cs │ │ │ ├── System.Threading.Tasks │ │ │ │ └── AsyncMutex.cs │ │ │ ├── System │ │ │ │ └── UriExtensions.cs │ │ │ ├── UIElementExtensions.cs │ │ │ └── Windows.UI.Composition │ │ │ │ └── CompositionObjectExtensions.cs │ │ ├── Helpers │ │ │ ├── Cache │ │ │ │ ├── CompositionObjectCache{TKey,TValue}.cs │ │ │ │ └── CompositionObjectCache{T}.cs │ │ │ ├── SurfaceLoader.Instance.cs │ │ │ └── SurfaceLoader.cs │ │ ├── MultiTarget.props │ │ ├── Pipelines │ │ │ ├── BrushProvider.cs │ │ │ ├── PipelineBuilder.Effects.Internals.cs │ │ │ ├── PipelineBuilder.Effects.cs │ │ │ ├── PipelineBuilder.Initialization.cs │ │ │ ├── PipelineBuilder.Merge.cs │ │ │ ├── PipelineBuilder.Prebuilt.cs │ │ │ └── PipelineBuilder.cs │ │ ├── ReadMe.md │ │ ├── Shadows │ │ │ └── AttachedCardShadow.cs │ │ └── Visuals │ │ │ ├── AttachedVisualFactoryBase.cs │ │ │ ├── PipelineVisualFactory.cs │ │ │ └── PipelineVisualFactoryBase.cs │ └── tests │ │ ├── Media.Tests.projitems │ │ └── Media.Tests.shproj ├── MetadataControl │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ └── MetadataControl.png │ │ ├── DelegateCommand.cs │ │ ├── Dependencies.props │ │ ├── MetadataControl.Samples.csproj │ │ ├── MetadataControl.md │ │ ├── MetadataControlSample.xaml │ │ └── MetadataControlSample.xaml.cs │ ├── src │ │ ├── CommunityToolkit.WinUI.Controls.MetadataControl.csproj │ │ ├── Dependencies.props │ │ ├── MetadataControl.cs │ │ ├── MetadataControl.xaml │ │ ├── MetadataItem.cs │ │ ├── MultiTarget.props │ │ ├── ReadMe.md │ │ └── Themes │ │ │ └── Generic.xaml │ └── tests │ │ ├── MetadataControl.Tests.projitems │ │ └── MetadataControl.Tests.shproj ├── Primitives │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ ├── BigFourSummerHeat.jpg │ │ │ ├── ConstrainedBox.png │ │ │ ├── DockPanel.png │ │ │ ├── StaggeredLayout.png │ │ │ ├── StaggeredPanel.png │ │ │ ├── SwitchPresenter.png │ │ │ ├── UniformGrid.png │ │ │ ├── WestSeattleView.jpg │ │ │ ├── WrapLayout.png │ │ │ ├── WrapPanel.png │ │ │ └── checker.png │ │ ├── ConstrainedBox.md │ │ ├── ConstrainedBox │ │ │ ├── ConstrainedBoxAspectSample.xaml │ │ │ ├── ConstrainedBoxAspectSample.xaml.cs │ │ │ ├── ConstrainedBoxMultipleSample.xaml │ │ │ ├── ConstrainedBoxMultipleSample.xaml.cs │ │ │ ├── ConstrainedBoxScaleSample.xaml │ │ │ └── ConstrainedBoxScaleSample.xaml.cs │ │ ├── Dependencies.props │ │ ├── DockPanel.md │ │ ├── DockPanelSample.xaml │ │ ├── DockPanelSample.xaml.cs │ │ ├── Primitives.Samples.csproj │ │ ├── StaggeredLayout.md │ │ ├── StaggeredLayoutSample.xaml │ │ ├── StaggeredLayoutSample.xaml.cs │ │ ├── StaggeredPanel.md │ │ ├── StaggeredPanelSample.xaml │ │ ├── StaggeredPanelSample.xaml.cs │ │ ├── SwitchPresenter.md │ │ ├── SwitchPresenter │ │ │ ├── SwitchConverterBrushSample.xaml │ │ │ ├── SwitchConverterBrushSample.xaml.cs │ │ │ ├── SwitchPresenterLayoutSample.xaml │ │ │ ├── SwitchPresenterLayoutSample.xaml.cs │ │ │ ├── SwitchPresenterLoaderSample.xaml │ │ │ ├── SwitchPresenterLoaderSample.xaml.cs │ │ │ ├── SwitchPresenterTemplateSample.xaml │ │ │ ├── SwitchPresenterTemplateSample.xaml.cs │ │ │ ├── SwitchPresenterValueSample.xaml │ │ │ └── SwitchPresenterValueSample.xaml.cs │ │ ├── UniformGrid.md │ │ ├── UniformGridSample.xaml │ │ ├── UniformGridSample.xaml.cs │ │ ├── WrapLayout.md │ │ ├── WrapLayoutSample.xaml │ │ ├── WrapLayoutSample.xaml.cs │ │ ├── WrapPanel.md │ │ ├── WrapPanelSample.xaml │ │ └── WrapPanelSample.xaml.cs │ ├── src │ │ ├── CommunityToolkit.WinUI.Controls.Primitives.csproj │ │ ├── ConstrainedBox │ │ │ ├── AspectRatio.cs │ │ │ ├── ConstrainedBox.Properties.cs │ │ │ └── ConstrainedBox.cs │ │ ├── Dependencies.props │ │ ├── DockPanel │ │ │ ├── Dock.cs │ │ │ ├── DockPanel.Properties.cs │ │ │ └── DockPanel.cs │ │ ├── MultiTarget.props │ │ ├── ReadMe.md │ │ ├── StaggeredLayout │ │ │ ├── StaggeredColumnLayout.cs │ │ │ ├── StaggeredItem.cs │ │ │ ├── StaggeredLayout.cs │ │ │ ├── StaggeredLayoutItemsStretch.cs │ │ │ └── StaggeredLayoutState.cs │ │ ├── StaggeredPanel │ │ │ └── StaggeredPanel.cs │ │ ├── SwitchPresenter │ │ │ ├── Case.cs │ │ │ ├── CaseCollection.cs │ │ │ ├── SwitchConverter.cs │ │ │ ├── SwitchHelpers.cs │ │ │ └── SwitchPresenter.cs │ │ ├── UniformGrid │ │ │ ├── TakenSpotsReferenceHolder.cs │ │ │ ├── UniformGrid.Helpers.cs │ │ │ ├── UniformGrid.Properties.cs │ │ │ └── UniformGrid.cs │ │ ├── WrapLayout │ │ │ ├── UvBounds.cs │ │ │ ├── UvMeasure.cs │ │ │ ├── WrapItem.cs │ │ │ ├── WrapLayout.cs │ │ │ └── WrapLayoutState.cs │ │ └── WrapPanel │ │ │ ├── StretchChild.cs │ │ │ ├── WrapPanel.Data.cs │ │ │ └── WrapPanel.cs │ └── tests │ │ ├── DockPanel │ │ ├── DockPanelSample.xaml │ │ ├── DockPanelSample.xaml.cs │ │ └── DockPanelTests.cs │ │ ├── Primitives.Tests.projitems │ │ ├── Primitives.Tests.shproj │ │ ├── SwitchPresenter │ │ ├── SwitchConverterBrushSample.xaml │ │ ├── SwitchConverterBrushSample.xaml.cs │ │ ├── SwitchPresenterLayoutSample.xaml │ │ ├── SwitchPresenterLayoutSample.xaml.cs │ │ └── SwitchPresenterTests.cs │ │ ├── Test_ConstrainedBox.Alignment.cs │ │ ├── Test_ConstrainedBox.AspectRatio.cs │ │ ├── Test_ConstrainedBox.Coerce.cs │ │ ├── Test_ConstrainedBox.Combined.cs │ │ ├── Test_ConstrainedBox.Constrict.cs │ │ ├── Test_ConstrainedBox.Infinity.cs │ │ ├── Test_ConstrainedBox.Multiple.cs │ │ ├── Test_ConstrainedBox.Scale.cs │ │ ├── Test_UniformGrid_AutoLayout.cs │ │ ├── Test_UniformGrid_Dimensions.cs │ │ ├── Test_UniformGrid_FreeSpots.cs │ │ ├── Test_UniformGrid_RowColDefinitions.cs │ │ ├── Test_WrapPanel_BasicLayout.cs │ │ ├── Test_WrapPanel_Visibility.cs │ │ └── UniformGrid │ │ ├── AutoLayoutFixedElementZeroZeroSpecialPage.xaml │ │ └── AutoLayoutFixedElementZeroZeroSpecialPage.xaml.cs ├── RadialGauge │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ └── RadialGauge.png │ │ ├── Dependencies.props │ │ ├── RadialGauge.Samples.csproj │ │ ├── RadialGauge.md │ │ ├── RadialGaugeSample.xaml │ │ └── RadialGaugeSample.xaml.cs │ ├── src │ │ ├── CommunityToolkit.WinUI.Controls.RadialGauge.csproj │ │ ├── Dependencies.props │ │ ├── MultiTarget.props │ │ ├── RadialGauge.Input.cs │ │ ├── RadialGauge.Properties.cs │ │ ├── RadialGauge.cs │ │ ├── RadialGauge.xaml │ │ ├── RadialGaugeAutomationPeer.cs │ │ ├── ReadMe.md │ │ └── Themes │ │ │ └── Generic.xaml │ └── tests │ │ ├── RadialGauge.Tests.projitems │ │ ├── RadialGauge.Tests.shproj │ │ └── Test_RadialGauge.cs ├── RangeSelector │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ └── RangeSelector.png │ │ ├── Dependencies.props │ │ ├── RangeSelector.Samples.csproj │ │ ├── RangeSelector.md │ │ ├── RangeSelectorSample.xaml │ │ └── RangeSelectorSample.xaml.cs │ ├── src │ │ ├── CommunityToolkit.WinUI.Controls.RangeSelector.csproj │ │ ├── Dependencies.props │ │ ├── MultiTarget.props │ │ ├── RangeChangedEventArgs.cs │ │ ├── RangeSelector.Events.cs │ │ ├── RangeSelector.Input.Drag.cs │ │ ├── RangeSelector.Input.Key.cs │ │ ├── RangeSelector.Input.Pointer.cs │ │ ├── RangeSelector.Properties.cs │ │ ├── RangeSelector.cs │ │ ├── RangeSelector.xaml │ │ ├── ReadMe.md │ │ └── Themes │ │ │ └── Generic.xaml │ └── tests │ │ ├── RangeSelector.Tests.projitems │ │ ├── RangeSelector.Tests.shproj │ │ ├── RangeSelectorTest.cs │ │ ├── RangeSelectorTestPage.xaml │ │ ├── RangeSelectorTestPage.xaml.cs │ │ └── Test_RangeSelector.cs ├── RichSuggestBox │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ └── RichSuggestbox.png │ │ ├── Dependencies.props │ │ ├── RichSuggestBox.Samples.csproj │ │ ├── RichSuggestBox.md │ │ ├── RichSuggestBoxMultiplePrefixesSample.xaml │ │ ├── RichSuggestBoxMultiplePrefixesSample.xaml.cs │ │ ├── RichSuggestBoxPlainText.xaml │ │ ├── RichSuggestBoxPlainText.xaml.cs │ │ ├── SampleDataType.cs │ │ ├── SampleEmailDataType.cs │ │ └── SuggestionTemplateSelector.cs │ ├── src │ │ ├── CommunityToolkit.WinUI.Controls.RichSuggestBox.csproj │ │ ├── Dependencies.props │ │ ├── MultiTarget.props │ │ ├── RIchSuggestBox.Properties.cs │ │ ├── ReadMe.md │ │ ├── RichSuggestBox.Document.cs │ │ ├── RichSuggestBox.Events.cs │ │ ├── RichSuggestBox.Helpers.cs │ │ ├── RichSuggestBox.Suggestion.cs │ │ ├── RichSuggestBox.cs │ │ ├── RichSuggestBox.xaml │ │ ├── RichSuggestQuery.cs │ │ ├── RichSuggestToken.cs │ │ ├── RichSuggestTokenPointerOverEventArgs.cs │ │ ├── RichSuggestTokenSelectedEventArgs.cs │ │ ├── SuggestionChosenEventArgs.cs │ │ ├── SuggestionPopupPlacementMode.cs │ │ ├── SuggestionRequestedEventArgs.cs │ │ └── Themes │ │ │ └── Generic.xaml │ └── tests │ │ ├── RichSuggestBox.Tests.projitems │ │ ├── RichSuggestBox.Tests.shproj │ │ ├── RichSuggestBoxTest.cs │ │ ├── RichSuggestBoxTestPage.xaml │ │ ├── RichSuggestBoxTestPage.xaml.cs │ │ └── Test_RichSuggestBox.cs ├── Segmented │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ └── Segmented.png │ │ ├── Dependencies.props │ │ ├── Segmented.Samples.csproj │ │ ├── Segmented.md │ │ ├── SegmentedBasicSample.xaml │ │ ├── SegmentedBasicSample.xaml.cs │ │ ├── SegmentedStylesSample.xaml │ │ ├── SegmentedStylesSample.xaml.cs │ │ ├── SegmentedSwitchPresenterSample.xaml │ │ └── SegmentedSwitchPresenterSample.xaml.cs │ ├── src │ │ ├── CommunityToolkit.WinUI.Controls.Segmented.csproj │ │ ├── Dependencies.props │ │ ├── EqualPanel.cs │ │ ├── Helpers │ │ │ ├── ControlHelpers.cs │ │ │ └── SegmentedMarginConverter.cs │ │ ├── MultiTarget.props │ │ ├── ReadMe.md │ │ ├── Segmented │ │ │ ├── Segmented.cs │ │ │ └── Segmented.xaml │ │ ├── SegmentedItem │ │ │ ├── SegmentedItem.Properties.cs │ │ │ ├── SegmentedItem.cs │ │ │ └── SegmentedItem.xaml │ │ └── Themes │ │ │ └── Generic.xaml │ └── tests │ │ ├── ExampleSegmentedTestClass.cs │ │ ├── ExampleSegmentedTestPage.xaml │ │ ├── ExampleSegmentedTestPage.xaml.cs │ │ ├── Segmented.Tests.projitems │ │ └── Segmented.Tests.shproj ├── SettingsControls │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ ├── SettingsCard.png │ │ │ └── SettingsExpander.png │ │ ├── ClickableSettingsCardSample.xaml │ │ ├── ClickableSettingsCardSample.xaml.cs │ │ ├── Dependencies.props │ │ ├── SettingsCard.md │ │ ├── SettingsCardSample.xaml │ │ ├── SettingsCardSample.xaml.cs │ │ ├── SettingsControls.Samples.csproj │ │ ├── SettingsExpander.md │ │ ├── SettingsExpanderItemsSourceSample.xaml │ │ ├── SettingsExpanderItemsSourceSample.xaml.cs │ │ ├── SettingsExpanderSample.xaml │ │ ├── SettingsExpanderSample.xaml.cs │ │ ├── SettingsPageExample.xaml │ │ └── SettingsPageExample.xaml.cs │ ├── src │ │ ├── CommunityToolkit.WinUI.Controls.SettingsControls.csproj │ │ ├── Dependencies.props │ │ ├── Helpers │ │ │ ├── ControlHelper.cs │ │ │ ├── CornerRadiusConverter.cs │ │ │ ├── ResourceDictionaryExtensions.cs │ │ │ └── StyleExtensions.cs │ │ ├── MultiTarget.props │ │ ├── ReadMe.md │ │ ├── SettingsCard │ │ │ ├── SettingsCard.Properties.cs │ │ │ ├── SettingsCard.cs │ │ │ ├── SettingsCard.xaml │ │ │ └── SettingsCardAutomationPeer.cs │ │ ├── SettingsExpander │ │ │ ├── SettingsExpander.Events.cs │ │ │ ├── SettingsExpander.ItemsControl.cs │ │ │ ├── SettingsExpander.Properties.cs │ │ │ ├── SettingsExpander.cs │ │ │ ├── SettingsExpander.xaml │ │ │ ├── SettingsExpanderAutomationPeer.cs │ │ │ └── SettingsExpanderItemStyleSelector.cs │ │ └── Themes │ │ │ └── Generic.xaml │ └── tests │ │ ├── SettingsCardTestPage.xaml │ │ ├── SettingsCardTestPage.xaml.cs │ │ ├── SettingsControls.Tests.projitems │ │ ├── SettingsControls.Tests.shproj │ │ ├── SettingsExpanderTestPage.xaml │ │ ├── SettingsExpanderTestPage.xaml.cs │ │ ├── Test_SettingsCard.cs │ │ └── Test_SettingsExpander.cs ├── Sizers │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ ├── ContentSizer.png │ │ │ ├── GridSplitter.png │ │ │ ├── PropertySizer.png │ │ │ └── Sizers.png │ │ ├── ContentSizer.md │ │ ├── ContentSizerLeftShelfPage.xaml │ │ ├── ContentSizerLeftShelfPage.xaml.cs │ │ ├── ContentSizerTopShelfPage.xaml │ │ ├── ContentSizerTopShelfPage.xaml.cs │ │ ├── Dependencies.props │ │ ├── GridSplitter.md │ │ ├── GridSplitterPage.xaml │ │ ├── GridSplitterPage.xaml.cs │ │ ├── PropertySizer.md │ │ ├── PropertySizerNavigationViewPage.xaml │ │ ├── PropertySizerNavigationViewPage.xaml.cs │ │ ├── SizerBase.Samples.csproj │ │ ├── SizerControls.md │ │ ├── SizerCursorPage.xaml │ │ └── SizerCursorPage.xaml.cs │ ├── src │ │ ├── CommunityToolkit.WinUI.Controls.Sizers.csproj │ │ ├── ContentSizer │ │ │ ├── ContentSizer.Events.cs │ │ │ ├── ContentSizer.Properties.cs │ │ │ └── ContentSizer.cs │ │ ├── Dependencies.props │ │ ├── GridSplitter │ │ │ ├── GridSplitter.Data.cs │ │ │ ├── GridSplitter.Events.cs │ │ │ ├── GridSplitter.Helpers.cs │ │ │ ├── GridSplitter.Properties.cs │ │ │ └── GridSplitter.cs │ │ ├── MultiTarget.props │ │ ├── PropertySizer │ │ │ ├── PropertySizer.Events.cs │ │ │ ├── PropertySizer.Properties.cs │ │ │ └── PropertySizer.cs │ │ ├── ReadMe.md │ │ ├── SizerAutomationPeer.cs │ │ ├── SizerBase.Events.cs │ │ ├── SizerBase.Helpers.cs │ │ ├── SizerBase.Properties.cs │ │ ├── SizerBase.cs │ │ ├── SizerBase.xaml │ │ ├── Strings │ │ │ └── en-US │ │ │ │ └── Resources.resw │ │ └── Themes │ │ │ └── Generic.xaml │ └── tests │ │ ├── ContentSizerTestInitialLayout.xaml │ │ ├── ContentSizerTestInitialLayout.xaml.cs │ │ ├── ExampleSizerBaseTestClass.cs │ │ ├── PropertySizerTestInitialBinding.xaml │ │ ├── PropertySizerTestInitialBinding.xaml.cs │ │ ├── Sizers.Tests.projitems │ │ └── Sizers.Tests.shproj ├── TabbedCommandBar │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ └── TabbedCommandBar.png │ │ ├── Dependencies.props │ │ ├── TabbedCommandBar.Samples.csproj │ │ ├── TabbedCommandBar.md │ │ ├── TabbedCommandBarSample.xaml │ │ └── TabbedCommandBarSample.xaml.cs │ ├── src │ │ ├── CommunityToolkit.WinUI.Controls.TabbedCommandBar.csproj │ │ ├── Dependencies.props │ │ ├── MultiTarget.props │ │ ├── TabbedCommandBar.cs │ │ ├── TabbedCommandBar.xaml │ │ ├── TabbedCommandBarItem.cs │ │ ├── TabbedCommandBarItem.xaml │ │ ├── TabbedCommandBarItemTemplateSelector.cs │ │ └── Themes │ │ │ └── Generic.xaml │ └── tests │ │ ├── ExampleTabbedCommandBarTestClass.cs │ │ ├── ExampleTabbedCommandBarTestPage.xaml │ │ ├── ExampleTabbedCommandBarTestPage.xaml.cs │ │ ├── TabbedCommandBar.Tests.projitems │ │ └── TabbedCommandBar.Tests.shproj ├── TokenizingTextBox │ ├── OpenSolution.bat │ ├── samples │ │ ├── Assets │ │ │ └── TokenizingTextBox.png │ │ ├── Dependencies.props │ │ ├── SampleDataType.cs │ │ ├── TokenizingTextBox.Samples.csproj │ │ ├── TokenizingTextBox.md │ │ ├── TokenizingTextBoxSample.xaml │ │ └── TokenizingTextBoxSample.xaml.cs │ ├── src │ │ ├── CommunityToolkit.WinUI.Controls.TokenizingTextBox.csproj │ │ ├── Dependencies.props │ │ ├── ITokenStringContainer.cs │ │ ├── InterspersedObservableCollection.cs │ │ ├── MultiTarget.props │ │ ├── PretokenStringContainer.cs │ │ ├── ReadMe.md │ │ ├── Themes │ │ │ └── Generic.xaml │ │ ├── TokenItemAddingEventArgs.cs │ │ ├── TokenItemRemovingEventArgs.cs │ │ ├── TokenizingTextBox.Events.cs │ │ ├── TokenizingTextBox.Properties.cs │ │ ├── TokenizingTextBox.Selection.cs │ │ ├── TokenizingTextBox.cs │ │ ├── TokenizingTextBox.xaml │ │ ├── TokenizingTextBoxAutomationPeer.cs │ │ ├── TokenizingTextBoxItem.AutoSuggestBox.cs │ │ ├── TokenizingTextBoxItem.AutoSuggestBox.xaml │ │ ├── TokenizingTextBoxItem.Token.xaml │ │ ├── TokenizingTextBoxItem.cs │ │ └── TokenizingTextBoxStyleSelector.cs │ └── tests │ │ ├── Test_TokenizingTextBox_AutomationPeer.cs │ │ ├── Test_TokenizingTextBox_General.cs │ │ ├── TokenizingTextBox.Tests.projitems │ │ └── TokenizingTextBox.Tests.shproj └── Triggers │ ├── OpenSolution.bat │ ├── samples │ ├── Assets │ │ └── Triggers.png │ ├── CompareStateTriggerSample.xaml │ ├── CompareStateTriggerSample.xaml.cs │ ├── ControlSizeTriggerSample.xaml │ ├── ControlSizeTriggerSample.xaml.cs │ ├── Dependencies.props │ ├── IsEqualStateTriggerSample.xaml │ ├── IsEqualStateTriggerSample.xaml.cs │ ├── IsNotEqualStateTriggerSample.xaml │ ├── IsNotEqualStateTriggerSample.xaml.cs │ ├── IsNullOrEmptyStateTriggerSample.xaml │ ├── IsNullOrEmptyStateTriggerSample.xaml.cs │ ├── NetworkConnectionStateTriggerSample.xaml │ ├── NetworkConnectionStateTriggerSample.xaml.cs │ ├── RegexStateTriggerSample.xaml │ ├── RegexStateTriggerSample.xaml.cs │ ├── Triggers.Samples.csproj │ ├── Triggers.md │ ├── UserHandPreferenceStateTriggerSample.xaml │ └── UserHandPreferenceStateTriggerSample.xaml.cs │ ├── src │ ├── CommunityToolkit.WinUI.Triggers.csproj │ ├── CompareStateTrigger.cs │ ├── ControlSizeTrigger.cs │ ├── Dependencies.props │ ├── IsEqualStateTrigger.cs │ ├── IsNotEqualStateTrigger.cs │ ├── IsNullOrEmptyStateTrigger.cs │ ├── MultiTarget.props │ ├── NetworkConnectionStateTrigger.cs │ ├── ReadMe.md │ ├── RegexStateTrigger.cs │ └── UserHandPreferenceStateTrigger.cs │ └── tests │ ├── ControlSizeTriggerTests.cs │ ├── Triggers.Tests.projitems │ └── Triggers.Tests.shproj ├── docs └── images │ ├── gallery.png │ ├── storeBadge.png │ └── wct.png ├── global.json ├── icon.png ├── nuget.config └── settings.xamlstyler /.config/dotnet-tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "isRoot": true, 4 | "tools": { 5 | "uno.check": { 6 | "version": "1.27.4", 7 | "commands": [ 8 | "uno-check" 9 | ] 10 | }, 11 | "xamlstyler.console": { 12 | "version": "3.2206.4", 13 | "commands": [ 14 | "xstyler" 15 | ] 16 | }, 17 | "microsoft.visualstudio.slngen.tool": { 18 | "version": "12.0.13", 19 | "commands": [ 20 | "slngen" 21 | ] 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /.devcontainer/default.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "path": ".." 5 | } 6 | ], 7 | "settings": { 8 | "omnisharp.defaultLaunchSolution": "CommunityToolkit.AllComponents.sln", 9 | "omnisharp.disableMSBuildDiagnosticWarning": true, 10 | "omnisharp.enableRoslynAnalyzers": true, 11 | "omnisharp.useGlobalMono": "never", 12 | "csharp.suppressBuildAssetsNotification": true, 13 | "csharp.suppressDotnetInstallWarning": true, 14 | "csharp.suppressDotnetRestoreNotification": true, 15 | "csharp.semanticHighlighting.enabled": true, 16 | "omnisharp.enableImportCompletion": true, 17 | "omnisharp.enableMsBuildLoadProjectsOnDemand": true 18 | } 19 | } -------------------------------------------------------------------------------- /.github/workflows/SignClientFileList.txt: -------------------------------------------------------------------------------- 1 | **/CommunityToolkit.* -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "tooling"] 2 | path = tooling 3 | url = https://github.com/CommunityToolkit/Tooling-Windows-Submodule.git 4 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "ms-dotnettools.csdevkit", 4 | ] 5 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "omnisharp.disableMSBuildDiagnosticWarning": true, 3 | "omnisharp.enableRoslynAnalyzers": true, 4 | "omnisharp.useGlobalMono": "never", 5 | "csharp.suppressBuildAssetsNotification": true, 6 | "csharp.suppressDotnetInstallWarning": true, 7 | "csharp.suppressDotnetRestoreNotification": true, 8 | "csharp.semanticHighlighting.enabled": true, 9 | "omnisharp.enableMsBuildLoadProjectsOnDemand": true, 10 | "dotnet.completion.showCompletionItemsFromUnimportedNamespaces": true, 11 | "dotnet.defaultSolution": "CommunityToolkit.AllComponents.sln" 12 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "label": "generateAllSolution", 8 | "type": "shell", 9 | "command": "pwsh ./tooling/GenerateAllSolution.ps1", 10 | "group": "build" 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /GenerateAllSolution.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | SET "MultiTargets=%1" 3 | IF "%MultiTargets%"=="" SET "MultiTargets=uwp,wasdk,wasm" 4 | 5 | powershell .\tooling\GenerateAllSolution.ps1 -MultiTargets %MultiTargets% -------------------------------------------------------------------------------- /components/Animations/OpenSolution.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | powershell ..\..\tooling\ProjectHeads\GenerateSingleSampleHeads.ps1 -componentPath %CD% %* -------------------------------------------------------------------------------- /components/Animations/samples/Assets/BigFourSummerHeat2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Animations/samples/Assets/BigFourSummerHeat2.jpg -------------------------------------------------------------------------------- /components/Animations/samples/Assets/BisonBadlandsChillin2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Animations/samples/Assets/BisonBadlandsChillin2.jpg -------------------------------------------------------------------------------- /components/Animations/samples/Assets/ColumbiaRiverGorge.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Animations/samples/Assets/ColumbiaRiverGorge.jpg -------------------------------------------------------------------------------- /components/Animations/samples/Assets/ConnectedAnimations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Animations/samples/Assets/ConnectedAnimations.png -------------------------------------------------------------------------------- /components/Animations/samples/Assets/GrandTetons.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Animations/samples/Assets/GrandTetons.jpg -------------------------------------------------------------------------------- /components/Animations/samples/Assets/ImplicitAnimations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Animations/samples/Assets/ImplicitAnimations.png -------------------------------------------------------------------------------- /components/Animations/samples/Assets/MitchellButtes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Animations/samples/Assets/MitchellButtes.jpg -------------------------------------------------------------------------------- /components/Animations/samples/Assets/OregonWineryNamaste.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Animations/samples/Assets/OregonWineryNamaste.jpg -------------------------------------------------------------------------------- /components/Animations/samples/Assets/RunningDogPacificCity.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Animations/samples/Assets/RunningDogPacificCity.jpg -------------------------------------------------------------------------------- /components/Animations/samples/ConnectedAnimations/FirstPage.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace AnimationsExperiment.Samples.ConnectedAnimations; 6 | 7 | public sealed partial class FirstPage : Page 8 | { 9 | public FirstPage() 10 | { 11 | this.InitializeComponent(); 12 | } 13 | 14 | private void Border_Tapped(object sender, TappedRoutedEventArgs e) 15 | { 16 | Frame.Navigate(typeof(SecondPage), null, new SuppressNavigationTransitionInfo()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /components/Animations/samples/ConnectedAnimations/ThirdPage.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace AnimationsExperiment.Samples.ConnectedAnimations; 6 | 7 | public sealed partial class ThirdPage : Page 8 | { 9 | private PhotoDataItem item = new(); 10 | 11 | public ThirdPage() 12 | { 13 | this.InitializeComponent(); 14 | } 15 | 16 | protected override void OnNavigatedTo(NavigationEventArgs e) 17 | { 18 | if (e.Parameter is PhotoDataItem photoItem) 19 | { 20 | item = photoItem; 21 | } 22 | 23 | base.OnNavigatedTo(e); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /components/Animations/src/ConnectedAnimations/ConnectedAnimationListProperty.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Animations; 6 | 7 | internal class ConnectedAnimationListProperty 8 | { 9 | public string? ElementName { get; set; } 10 | 11 | public ListViewBase? ListViewBase { get; set; } 12 | } 13 | -------------------------------------------------------------------------------- /components/Animations/src/ConnectedAnimations/ConnectedAnimationProperties.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Animations; 6 | 7 | internal class ConnectedAnimationProperties 8 | { 9 | public string? Key { get; set; } 10 | 11 | public UIElement? Element { get; set; } 12 | 13 | public List? ListAnimProperties { get; set; } 14 | 15 | public bool IsListAnimation => ListAnimProperties != null; 16 | } 17 | -------------------------------------------------------------------------------- /components/Animations/src/Enums/Axis.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Animations; 6 | 7 | /// 8 | /// Indicates an axis in the 3D space. 9 | /// 10 | public enum Axis 11 | { 12 | /// 13 | /// The X axis (horizontal). 14 | /// 15 | X, 16 | 17 | /// 18 | /// The Y axis (vertical). 19 | /// 20 | Y, 21 | 22 | /// 23 | /// The Z axis (depth). 24 | /// 25 | /// 26 | /// This axis might only be available in certain scenarios, such as when working with composition APIs. 27 | /// 28 | Z 29 | } 30 | -------------------------------------------------------------------------------- /components/Animations/src/Enums/VisualProperty.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Animations; 6 | 7 | #if WINUI2 8 | using Windows.UI.Composition; 9 | #else 10 | using Microsoft.UI.Composition; 11 | #endif 12 | 13 | /// 14 | /// Indicates a property of a object. 15 | /// 16 | public enum VisualProperty 17 | { 18 | /// 19 | /// The offset property of a object. 20 | /// 21 | Offset, 22 | 23 | /// 24 | /// The translation property of a object. 25 | /// 26 | Translation 27 | } 28 | -------------------------------------------------------------------------------- /components/Animations/src/Expressions/ExpressionNodes/ValueKeywordKind.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Animations.Expressions; 6 | 7 | /// 8 | /// Enum ValueKeywordKind 9 | /// 10 | internal enum ValueKeywordKind 11 | { 12 | /// 13 | /// The current value 14 | /// 15 | CurrentValue, 16 | 17 | /// 18 | /// The starting value 19 | /// 20 | StartingValue, 21 | } 22 | -------------------------------------------------------------------------------- /components/Animations/src/MultiTarget.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | uwp;wasdk;wpf;wasm;linuxgtk;macos;ios;android; 8 | 9 | 10 | -------------------------------------------------------------------------------- /components/Animations/src/Xaml/Custom/ColorAnimation.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using Windows.UI; 6 | 7 | #pragma warning disable CS0419 8 | 9 | namespace CommunityToolkit.WinUI.Animations; 10 | 11 | /// 12 | /// A custom animation. 13 | /// 14 | public sealed class ColorAnimation : CustomAnimation 15 | { 16 | /// 17 | protected override (Color?, Color?) GetParsedValues() 18 | { 19 | return (To, From); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /components/Animations/src/Xaml/Custom/QuaternionAnimation.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Numerics; 6 | 7 | namespace CommunityToolkit.WinUI.Animations; 8 | 9 | /// 10 | /// A custom animation. 11 | /// 12 | public sealed class QuaternionAnimation : CustomAnimation 13 | { 14 | /// 15 | protected override (Quaternion?, Quaternion?) GetParsedValues() 16 | { 17 | return (To?.ToQuaternion(), From?.ToQuaternion()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /components/Animations/src/Xaml/Custom/ScalarAnimation.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Animations; 6 | 7 | /// 8 | /// A custom scalar animation. 9 | /// 10 | public sealed class ScalarAnimation : CustomAnimation 11 | { 12 | /// 13 | protected override (double?, double?) GetParsedValues() 14 | { 15 | return (To, From); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /components/Animations/src/Xaml/Custom/Vector2Animation.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Numerics; 6 | 7 | namespace CommunityToolkit.WinUI.Animations; 8 | 9 | /// 10 | /// A custom animation. 11 | /// 12 | public sealed class Vector2Animation : CustomAnimation 13 | { 14 | /// 15 | protected override (Vector2?, Vector2?) GetParsedValues() 16 | { 17 | return (To?.ToVector2(), From?.ToVector2()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /components/Animations/src/Xaml/Custom/Vector3Animation.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Numerics; 6 | 7 | namespace CommunityToolkit.WinUI.Animations; 8 | 9 | /// 10 | /// A custom animation. 11 | /// 12 | public sealed class Vector3Animation : CustomAnimation 13 | { 14 | /// 15 | protected override (Vector3?, Vector3?) GetParsedValues() 16 | { 17 | return (To?.ToVector3(), From?.ToVector3()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /components/Animations/src/Xaml/Custom/Vector4Animation.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Numerics; 6 | 7 | namespace CommunityToolkit.WinUI.Animations; 8 | 9 | /// 10 | /// A custom animation. 11 | /// 12 | public sealed class Vector4Animation : CustomAnimation 13 | { 14 | /// 15 | protected override (Vector4?, Vector4?) GetParsedValues() 16 | { 17 | return (To?.ToVector4(), From?.ToVector4()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /components/Animations/src/Xaml/Default/TranslationAnimation.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Numerics; 6 | 7 | namespace CommunityToolkit.WinUI.Animations; 8 | 9 | /// 10 | /// A translation animation working on the composition or layer. 11 | /// 12 | public sealed class TranslationAnimation : ImplicitAnimation 13 | { 14 | /// 15 | protected override string ExplicitTarget => "Translation"; 16 | 17 | /// 18 | protected override (Vector3?, Vector3?) GetParsedValues() 19 | { 20 | return (To?.ToVector3(), From?.ToVector3()); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /components/Animations/src/Xaml/KeyFrames/ColorKeyFrame.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using Windows.UI; 6 | 7 | namespace CommunityToolkit.WinUI.Animations; 8 | 9 | /// 10 | /// A type for color animations. 11 | /// 12 | public sealed class ColorKeyFrame : KeyFrame 13 | { 14 | /// 15 | protected override Color GetParsedValue() 16 | { 17 | return Value!.Value; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /components/Animations/src/Xaml/KeyFrames/QuaternionKeyFrame.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Numerics; 6 | 7 | namespace CommunityToolkit.WinUI.Animations; 8 | 9 | /// 10 | /// A type for animations. 11 | /// 12 | public sealed class QuaternionKeyFrame : KeyFrame 13 | { 14 | /// 15 | protected override Quaternion GetParsedValue() 16 | { 17 | return Value!.ToQuaternion(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /components/Animations/src/Xaml/KeyFrames/ScalarKeyFrame.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Animations; 6 | 7 | /// 8 | /// A type for scalar animations. 9 | /// 10 | public sealed class ScalarKeyFrame : KeyFrame 11 | { 12 | /// 13 | protected override double GetParsedValue() 14 | { 15 | return Value!.Value; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /components/Animations/src/Xaml/KeyFrames/Vector2KeyFrame.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Numerics; 6 | 7 | namespace CommunityToolkit.WinUI.Animations; 8 | 9 | /// 10 | /// A type for animations. 11 | /// 12 | public sealed class Vector2KeyFrame : KeyFrame 13 | { 14 | /// 15 | protected override Vector2 GetParsedValue() 16 | { 17 | return Value!.ToVector2(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /components/Animations/src/Xaml/KeyFrames/Vector3KeyFrame.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Numerics; 6 | 7 | namespace CommunityToolkit.WinUI.Animations; 8 | 9 | /// 10 | /// A type for animations. 11 | /// 12 | public sealed class Vector3KeyFrame : KeyFrame 13 | { 14 | /// 15 | protected override Vector3 GetParsedValue() 16 | { 17 | return Value!.ToVector3(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /components/Animations/src/Xaml/KeyFrames/Vector4KeyFrame.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using System.Numerics; 6 | 7 | namespace CommunityToolkit.WinUI.Animations; 8 | 9 | /// 10 | /// A type for animations. 11 | /// 12 | public sealed class Vector4KeyFrame : KeyFrame 13 | { 14 | /// 15 | protected override Vector4 GetParsedValue() 16 | { 17 | return Value!.ToVector4(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /components/Animations/tests/Animations.Tests.projitems: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | 39585FC1-232A-4F67-BFB8-7F6DEE296763 7 | 8 | 9 | AnimationsTests 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /components/Behaviors/OpenSolution.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | powershell ..\..\tooling\ProjectHeads\GenerateSingleSampleHeads.ps1 -componentPath %CD% %* -------------------------------------------------------------------------------- /components/Behaviors/samples/Assets/AnimationSet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Behaviors/samples/Assets/AnimationSet.png -------------------------------------------------------------------------------- /components/Behaviors/samples/Assets/Behaviors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Behaviors/samples/Assets/Behaviors.png -------------------------------------------------------------------------------- /components/Behaviors/samples/Assets/HeaderBehaviors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Behaviors/samples/Assets/HeaderBehaviors.png -------------------------------------------------------------------------------- /components/Behaviors/samples/Assets/StackedNotificationsBehavior.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Behaviors/samples/Assets/StackedNotificationsBehavior.png -------------------------------------------------------------------------------- /components/Behaviors/samples/Assets/ToolkitIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Behaviors/samples/Assets/ToolkitIcon.png -------------------------------------------------------------------------------- /components/Behaviors/samples/AutoSelectBehaviorSample.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /components/Behaviors/samples/AutoSelectBehaviorSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using CommunityToolkit.WinUI.Behaviors; 6 | 7 | namespace BehaviorsExperiment.Samples; 8 | 9 | [ToolkitSample(id: nameof(AutoSelectBehaviorSample), nameof(AutoSelectBehavior), description: $"A sample for showing how to use the AutoSelectBehavior.")] 10 | public sealed partial class AutoSelectBehaviorSample : Page 11 | { 12 | public AutoSelectBehaviorSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Behaviors/samples/FocusBehaviorListSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using CommunityToolkit.WinUI.Behaviors; 6 | 7 | namespace BehaviorsExperiment.Samples; 8 | 9 | [ToolkitSample(id: nameof(FocusBehaviorListSample), $"{nameof(FocusBehavior)}: Lists", description: $"A sample demonstrating how {nameof(FocusBehavior)} affects lists.")] 10 | public sealed partial class FocusBehaviorListSample : Page 11 | { 12 | public FocusBehaviorListSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Behaviors/samples/Headers/FadeHeaderBehaviorSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using CommunityToolkit.WinUI.Behaviors; 6 | 7 | namespace BehaviorsExperiment.Samples.Headers; 8 | 9 | /// 10 | /// An empty page that can be used on its own or navigated to within a Frame. 11 | /// 12 | [ToolkitSample(id: nameof(FadeHeaderBehaviorSample), nameof(FadeHeaderBehavior), description: $"A sample for showing how to use the {nameof(FadeHeaderBehavior)}.")] 13 | public sealed partial class FadeHeaderBehaviorSample : Page 14 | { 15 | public FadeHeaderBehaviorSample() 16 | { 17 | this.InitializeComponent(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /components/Behaviors/samples/InvokeActionsSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using CommunityToolkit.WinUI.Animations; 6 | 7 | namespace BehaviorsExperiment.Samples; 8 | 9 | [ToolkitSample(id: nameof(InvokeActionsActivitySample), "InvokeActionsActivity", description: $"A sample for showing how to create and use a {nameof(StartAnimationActivity)} behavior.")] 10 | public sealed partial class InvokeActionsActivitySample : Page 11 | { 12 | public InvokeActionsActivitySample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Behaviors/samples/NavigateToUriActionSample.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 14 | 15 | -------------------------------------------------------------------------------- /components/Behaviors/samples/NavigateToUriActionSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using CommunityToolkit.WinUI.Behaviors; 6 | 7 | namespace BehaviorsExperiment.Samples; 8 | 9 | [ToolkitSample(id: nameof(NavigateToUriActionSample), nameof(NavigateToUriAction), description: $"A sample demonstrating how to use {nameof(NavigateToUriAction)}.")] 10 | public sealed partial class NavigateToUriActionSample : Page 11 | { 12 | public NavigateToUriActionSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Behaviors/samples/StartAnimationActivitySample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using CommunityToolkit.WinUI.Animations; 6 | 7 | namespace BehaviorsExperiment.Samples; 8 | 9 | [ToolkitSample(id: nameof(StartAnimationActivitySample), "StartAnimationActivity", description: $"A sample for showing how to create and use a {nameof(InvokeActionsActivity)} behavior.")] 10 | public sealed partial class StartAnimationActivitySample : Page 11 | { 12 | public StartAnimationActivitySample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Behaviors/samples/ViewportBehaviorSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using CommunityToolkit.WinUI.Behaviors; 6 | 7 | namespace BehaviorsExperiment.Samples; 8 | 9 | [ToolkitSampleBoolOption("IsAlwaysOn", true, Title = "IsAlwaysOn")] 10 | [ToolkitSample(id: nameof(ViewportBehaviorSample), nameof(ViewportBehavior), description: $"A sample for showing how to use the {nameof(ViewportBehavior)}.")] 11 | public sealed partial class ViewportBehaviorSample : Page 12 | { 13 | public ViewportBehaviorSample() 14 | { 15 | this.InitializeComponent(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /components/Behaviors/src/ApiInformationHelper.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using Windows.Foundation.Metadata; 6 | 7 | namespace CommunityToolkit.WinUI.Behaviors; 8 | 9 | internal class ApiInformationHelper 10 | { 11 | #if WINUI2 12 | // 1903 - 18362 13 | public static bool IsXamlRootAvailable { get; } = ApiInformation.IsPropertyPresent("Windows.UI.Xaml.UIElement", "XamlRoot"); 14 | #elif WINUI3 15 | public static bool IsXamlRootAvailable => true; 16 | #endif 17 | } 18 | -------------------------------------------------------------------------------- /components/Behaviors/src/FocusTargetList.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Behaviors; 6 | 7 | /// 8 | /// A collection of . 9 | /// 10 | public sealed partial class FocusTargetList : List 11 | { 12 | } 13 | -------------------------------------------------------------------------------- /components/Behaviors/src/MultiTarget.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | uwp;wasdk;wpf;wasm;linuxgtk;macos;ios;android; 8 | 9 | -------------------------------------------------------------------------------- /components/Behaviors/src/Select/AutoSelectBehavior.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Behaviors; 6 | 7 | /// 8 | /// This behavior automatically selects the entire content of the associated when it is loaded. 9 | /// 10 | public sealed class AutoSelectBehavior : BehaviorBase 11 | { 12 | /// 13 | protected override void OnAssociatedObjectLoaded() => AssociatedObject.SelectAll(); 14 | } 15 | 16 | -------------------------------------------------------------------------------- /components/Behaviors/tests/StackedNotificationsBehaviorsTestPage.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace BehaviorsTests; 6 | 7 | /// 8 | /// An empty page that can be used on its own or navigated to within a Frame. 9 | /// 10 | public sealed partial class StackedNotificationsBehaviorsTestPage : Page 11 | { 12 | public StackedNotificationsBehaviorsTestPage() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/CameraPreview/OpenSolution.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | powershell ..\..\tooling\ProjectHeads\GenerateSingleSampleHeads.ps1 -componentPath %CD% %* -------------------------------------------------------------------------------- /components/CameraPreview/samples/Assets/CameraPreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/CameraPreview/samples/Assets/CameraPreview.png -------------------------------------------------------------------------------- /components/CameraPreview/samples/CameraPreview.Samples.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CameraPreview 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | PreserveNewest 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /components/CameraPreview/src/CameraPreview.Events.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Controls; 6 | 7 | /// 8 | /// Camera Control to preview video. Can subscribe to video frames, software bitmap when they arrive. 9 | /// 10 | public partial class CameraPreview 11 | { 12 | /// 13 | /// Event raised when camera preview fails. 14 | /// 15 | public event EventHandler PreviewFailed; 16 | } 17 | -------------------------------------------------------------------------------- /components/CameraPreview/src/MultiTarget.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | uwp;wasdk; 8 | 9 | 10 | -------------------------------------------------------------------------------- /components/CameraPreview/src/PreviewFailedEventArgs.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Controls; 6 | 7 | /// 8 | /// PreviewFailed Event Args 9 | /// 10 | public class PreviewFailedEventArgs : EventArgs 11 | { 12 | /// 13 | /// Gets error information about failure 14 | /// 15 | public string? Error { get; internal set; } 16 | } 17 | -------------------------------------------------------------------------------- /components/CameraPreview/src/Themes/Generic.xaml: -------------------------------------------------------------------------------- 1 |  4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /components/CameraPreview/tests/CameraPreview.Tests.projitems: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | E4B3B38E-CB22-4C76-8906-018E2191DA41 7 | 8 | 9 | CameraPreviewTests 10 | 11 | -------------------------------------------------------------------------------- /components/Collections/OpenSolution.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | powershell ..\..\tooling\ProjectHeads\GenerateSingleSampleHeads.ps1 -componentPath %CD% %* -------------------------------------------------------------------------------- /components/Collections/samples/Assets/AdvancedCollectionView.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Collections/samples/Assets/AdvancedCollectionView.png -------------------------------------------------------------------------------- /components/Collections/samples/Assets/AppIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Collections/samples/Assets/AppIcon.png -------------------------------------------------------------------------------- /components/Collections/samples/Assets/IncrementalLoadingCollection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Collections/samples/Assets/IncrementalLoadingCollection.png -------------------------------------------------------------------------------- /components/Collections/src/AdvancedCollectionView/SortDirection.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Collections; 6 | 7 | /// 8 | /// Sort direction enum 9 | /// 10 | public enum SortDirection 11 | { 12 | /// 13 | /// Ascending order (eg. abc...) 14 | /// 15 | Ascending = 0, 16 | 17 | /// 18 | /// Descending order (eg. zyx...) 19 | /// 20 | Descending = 1 21 | } 22 | -------------------------------------------------------------------------------- /components/Collections/src/MultiTarget.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | uwp;wasdk;wpf;wasm;linuxgtk;macos;ios;android; 8 | 9 | -------------------------------------------------------------------------------- /components/ColorPicker/OpenSolution.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | powershell ..\..\tooling\ProjectHeads\GenerateSingleSampleHeads.ps1 -componentPath %CD% %* -------------------------------------------------------------------------------- /components/ColorPicker/samples/Assets/ColorPicker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/ColorPicker/samples/Assets/ColorPicker.png -------------------------------------------------------------------------------- /components/ColorPicker/samples/ColorPicker.Samples.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ColorPicker 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | PreserveNewest 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /components/ColorPicker/samples/ColorPickerButtonSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using ColorSpectrumShape = Microsoft.UI.Xaml.Controls.ColorSpectrumShape; 6 | 7 | namespace ColorPickerExperiment.Samples; 8 | 9 | [ToolkitSample(id: nameof(ColorPickerButtonSample), "ColorPickerButton", description: $"A sample for showing how to create and use a {nameof(CommunityToolkit.WinUI.Controls.ColorPickerButton)} control.")] 10 | public sealed partial class ColorPickerButtonSample : Page 11 | { 12 | public ColorPickerButtonSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/ColorPicker/src/ColorRepresentation.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Controls; 6 | 7 | /// 8 | /// Defines how colors are represented. 9 | /// 10 | [EditorBrowsable(EditorBrowsableState.Advanced)] 11 | public enum ColorRepresentation 12 | { 13 | /// 14 | /// Color is represented by hue, saturation, value and alpha channels. 15 | /// 16 | Hsva, 17 | 18 | /// 19 | /// Color is represented by red, green, blue and alpha channels. 20 | /// 21 | Rgba 22 | } 23 | -------------------------------------------------------------------------------- /components/ColorPicker/src/MultiTarget.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | uwp;wasdk;wpf;wasm;linuxgtk;macos;ios;android; 8 | 9 | -------------------------------------------------------------------------------- /components/ColorPicker/tests/ExampleColorPickerTestPage.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ColorPickerTests; 6 | 7 | /// 8 | /// An empty page that can be used on its own or navigated to within a Frame. 9 | /// 10 | public sealed partial class ExampleColorPickerTestPage : Page 11 | { 12 | public ExampleColorPickerTestPage() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Converters/OpenSolution.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | powershell ..\..\tooling\ProjectHeads\GenerateSingleSampleHeads.ps1 -componentPath %CD% %* -------------------------------------------------------------------------------- /components/Converters/samples/Assets/Converters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Converters/samples/Assets/Converters.png -------------------------------------------------------------------------------- /components/Converters/samples/BoolNegationConverterSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ConvertersExperiment.Samples; 6 | 7 | [ToolkitSampleBoolOption("MyBooleanValue", true, Title = "Original value")] 8 | 9 | [ToolkitSample(id: nameof(BoolNegationConverterSample), "BoolNegationConverter", description: $"A sample for showing how to use the BoolNegationConverter.")] 10 | public sealed partial class BoolNegationConverterSample : Page 11 | { 12 | public BoolNegationConverterSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Converters/samples/BoolToObjectConverterSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ConvertersExperiment.Samples; 6 | 7 | [ToolkitSampleBoolOption("MyBooleanValue", false, Title = "Toggle to change colors")] 8 | 9 | [ToolkitSample(id: nameof(BoolToObjectConverterSample), "BoolToObjectConverter", description: $"A sample for showing how to use the BoolToObjectConverter.")] 10 | public sealed partial class BoolToObjectConverterSample : Page 11 | { 12 | public BoolToObjectConverterSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Converters/samples/BoolToVisibilityConverterSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ConvertersExperiment.Samples; 6 | 7 | [ToolkitSampleBoolOption("MyBooleanValue", true, Title = "Toggle to show or hide the image")] 8 | 9 | [ToolkitSample(id: nameof(BoolToVisibilityConverterSample), "BoolToVisibilityConverter", description: $"A sample for showing how to use the BoolToVisibilityConverter.")] 10 | public sealed partial class BoolToVisibilityConverterSample : Page 11 | { 12 | public BoolToVisibilityConverterSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Converters/samples/CollectionVisibilityConverterSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ConvertersExperiment.Samples; 6 | 7 | [ToolkitSample(id: nameof(CollectionVisibilityConverterSample), "CollectionVisibilityConverter", description: $"A sample for showing how to use the CollectionVisibilityConverter.")] 8 | public sealed partial class CollectionVisibilityConverterSample : Page 9 | { 10 | public ObservableCollection EmptyCollection = new(); 11 | 12 | public CollectionVisibilityConverterSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Converters/samples/ColorToDisplayNameConverterSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ConvertersExperiment.Samples; 6 | 7 | [ToolkitSample(id: nameof(ColorToDisplayNameConverterSample), "ColorToDisplayNameConverter", description: $"A sample for showing how to use the ColorToDisplayNameConverter.")] 8 | public sealed partial class ColorToDisplayNameConverterSample : Page 9 | { 10 | public ColorToDisplayNameConverterSample() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /components/Converters/samples/DoubleToObjectConverterSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ConvertersExperiment.Samples; 6 | 7 | [ToolkitSampleNumericOption("NumericValue", 0, 0, 10, 1, false, Title = "Number")] 8 | 9 | [ToolkitSample(id: nameof(DoubleToObjectConverterSample), "DoubleToObjectConverter", description: $"A sample for showing how to use the DoubleToObjectConverter.")] 10 | public sealed partial class DoubleToObjectConverterSample : Page 11 | { 12 | public DoubleToObjectConverterSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Converters/samples/DoubleToVisibilityConverterSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ConvertersExperiment.Samples; 6 | 7 | [ToolkitSampleNumericOption("NumericValue", 0, 0, 10, 1, false, Title = "Number")] 8 | 9 | [ToolkitSample(id: nameof(DoubleToVisibilityConverterSample), "DoubleToVisibilityConverter", description: $"A sample for showing how to use the DoubleToObjectConverter.")] 10 | public sealed partial class DoubleToVisibilityConverterSample : Page 11 | { 12 | public DoubleToVisibilityConverterSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Converters/samples/EmptyStringToObjectConverterSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ConvertersExperiment.Samples; 6 | 7 | [ToolkitSampleTextOption("MyTextStringValue", "", Title = "Enter text to enable the button")] 8 | 9 | [ToolkitSample(id: nameof(EmptyStringToObjectConverterSample), "EmptyStringToObjectConverter", description: $"A sample for showing how to use the EmptyStringToObjectConverter.")] 10 | public sealed partial class EmptyStringToObjectConverterSample : Page 11 | { 12 | public EmptyStringToObjectConverterSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Converters/samples/FileSizeToFriendlyStringConverterSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ConvertersExperiment.Samples; 6 | 7 | [ToolkitSample(id: nameof(FileSizeToFriendlyStringConverterSample), "FileSizeToFriendlyStringConverter", description: $"A sample for showing how to use the FileSizeToFriendlyStringConverter.")] 8 | public sealed partial class FileSizeToFriendlyStringConverterSample : Page 9 | { 10 | public long FileSizeInBytes = 2400000; 11 | 12 | public FileSizeToFriendlyStringConverterSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Converters/samples/StringVisibilityConverterSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ConvertersExperiment.Samples; 6 | 7 | [ToolkitSampleTextOption("MyTextStringValue", "", Title = "Enter text to hide the TextBlock")] 8 | 9 | [ToolkitSample(id: nameof(StringVisibilityConverterSample), "StringVisibilityConverter", description: $"A sample for showing how to use the StringVisibilityConverter.")] 10 | public sealed partial class StringVisibilityConverterSample : Page 11 | { 12 | public StringVisibilityConverterSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Converters/samples/TypeToObjectConverterSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ConvertersExperiment.Samples; 6 | 7 | [ToolkitSample(id: nameof(TypeToObjectConverterSample), "TypeToObjectConverter", description: $"A sample for showing how to use the TypeToObjectConverter.")] 8 | public sealed partial class TypeToObjectConverterSample : Page 9 | { 10 | public TypeToObjectConverterSample() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /components/Converters/samples/VisibilityToBoolConverterSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ConvertersExperiment.Samples; 6 | 7 | [ToolkitSampleBoolOption("MyBooleanValue", true, Title = "Toggle to show or hide the image")] 8 | 9 | [ToolkitSample(id: nameof(VisibilityToBoolConverterSample), "VisibilityToBoolConverter", description: $"A sample for showing how to use the VisibilityToBoolConverter.")] 10 | public sealed partial class VisibilityToBoolConverterSample : Page 11 | { 12 | public VisibilityToBoolConverterSample() 13 | { 14 | this.InitializeComponent(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /components/Converters/src/BoolToVisibilityConverter.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Converters; 6 | 7 | /// 8 | /// This class converts a boolean value into a Visibility enumeration. 9 | /// 10 | public partial class BoolToVisibilityConverter : BoolToObjectConverter 11 | { 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | public BoolToVisibilityConverter() 16 | { 17 | TrueValue = Visibility.Visible; 18 | FalseValue = Visibility.Collapsed; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /components/Converters/src/CollectionVisibilityConverter.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Converters; 6 | 7 | /// 8 | /// This class converts a collection size to visibility. 9 | /// 10 | public partial class CollectionVisibilityConverter : EmptyCollectionToObjectConverter 11 | { 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | public CollectionVisibilityConverter() 16 | { 17 | NotEmptyValue = Visibility.Visible; 18 | EmptyValue = Visibility.Collapsed; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /components/Converters/src/DoubleToVisibilityConverter.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace CommunityToolkit.WinUI.Converters; 6 | 7 | /// 8 | /// This class converts a double value into a Visibility enumeration. 9 | /// 10 | public partial class DoubleToVisibilityConverter : DoubleToObjectConverter 11 | { 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | public DoubleToVisibilityConverter() 16 | { 17 | TrueValue = Visibility.Visible; 18 | FalseValue = Visibility.Collapsed; 19 | NullValue = Visibility.Collapsed; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /components/Converters/src/MultiTarget.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | uwp;wasdk;wpf;wasm;linuxgtk;macos;ios;android; 8 | 9 | -------------------------------------------------------------------------------- /components/DeveloperTools/OpenSolution.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | powershell ..\..\tooling\ProjectHeads\GenerateSingleSampleHeads.ps1 -componentPath %CD% %* -------------------------------------------------------------------------------- /components/DeveloperTools/samples/Assets/DeveloperTools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/DeveloperTools/samples/Assets/DeveloperTools.png -------------------------------------------------------------------------------- /components/DeveloperTools/samples/DeveloperTools.Samples.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | DeveloperTools 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | PreserveNewest 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /components/DeveloperTools/samples/FocusTrackerSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | using CommunityToolkit.WinUI.DeveloperTools; 6 | 7 | namespace DeveloperToolsExperiment.Samples; 8 | 9 | [ToolkitSampleBoolOption("IsActive", true, Title = "IsActive")] 10 | 11 | [ToolkitSample(id: nameof(FocusTrackerSample), "FocusTracker", description: $"A sample for showing how to create and use a {nameof(FocusTracker)}.")] 12 | public sealed partial class FocusTrackerSample : Page 13 | { 14 | public FocusTrackerSample() 15 | { 16 | this.InitializeComponent(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /components/DeveloperTools/src/MultiTarget.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | uwp;wasdk;wpf;wasm;linuxgtk;macos;ios;android; 8 | 9 | -------------------------------------------------------------------------------- /components/DeveloperTools/src/Themes/Generic.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /components/DeveloperTools/tests/DeveloperTools.Tests.projitems: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | 5034CE36-00F1-493C-88F7-93809DA5DDB6 7 | 8 | 9 | DeveloperToolsTests 10 | 11 | -------------------------------------------------------------------------------- /components/Extensions/OpenSolution.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | powershell ..\..\tooling\ProjectHeads\GenerateSingleSampleHeads.ps1 -componentPath %CD% %* -------------------------------------------------------------------------------- /components/Extensions/samples/Assets/Extensions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Extensions/samples/Assets/Extensions.png -------------------------------------------------------------------------------- /components/Extensions/samples/Assets/Llama.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Extensions/samples/Assets/Llama.jpg -------------------------------------------------------------------------------- /components/Extensions/samples/Assets/Shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Extensions/samples/Assets/Shadow.png -------------------------------------------------------------------------------- /components/Extensions/samples/Assets/ShadowAnimation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CommunityToolkit/Windows/e06140d949748cdf79e327ce7f244fc311fe26cd/components/Extensions/samples/Assets/ShadowAnimation.png -------------------------------------------------------------------------------- /components/Extensions/samples/ClipToBoundsSample.xaml.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | // See the LICENSE file in the project root for more information. 4 | 5 | namespace ExtensionsExperiment.Samples; 6 | 7 | /// 8 | /// An empty page that can be used on its own or navigated to within a Frame. 9 | /// 10 | [ToolkitSampleBoolOption("IsClipped", true, Title = "Clip to Bounds")] 11 | [ToolkitSample(id: nameof(ClipToBoundsSample), "ClipToBounds", description: "An extension for turning on clipping to the bounds of a container.")] 12 | 13 | public sealed partial class ClipToBoundsSample : Page 14 | { 15 | public ClipToBoundsSample() 16 | { 17 | this.InitializeComponent(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /components/Extensions/samples/Dispatcher/KeyboardDebounceSample.xaml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /components/Extensions/samples/Dispatcher/MouseDebounceSample.xaml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 |