├── .editorconfig
├── .gitattributes
├── .github
├── .github
│ └── stale.yml
├── FUNDING.yml
├── dependabot.yml
├── stale.yml
└── workflows
│ └── build.yml
├── .gitignore
├── .nuke
├── build.schema.json
└── parameters.json
├── AvaloniaBehaviors.sln
├── Directory.Build.props
├── Directory.Packages.props
├── LICENSE.TXT
├── NuGet.Config
├── README.md
├── SECURITY.md
├── _config.yml
├── azure-pipelines.yml
├── build.cmd
├── build.ps1
├── build.sh
├── build
├── SignAssembly.props
├── SourceLink.props
├── TrimmingEnable.targets
├── XUnit.props
├── behaviors.public.snk
└── build
│ ├── Build.cs
│ └── _build.csproj
├── global.json
├── samples
└── BehaviorsTestApplication
│ ├── Animations
│ ├── CustomStringAnimationBuilder.cs
│ └── CustomStringAnimator.cs
│ ├── App.axaml
│ ├── App.axaml.cs
│ ├── Assets
│ ├── delicate-arch-896885_640.jpg
│ ├── hirsch-899118_640.jpg
│ └── maple-leaf-888807_640.jpg
│ ├── Behaviors
│ ├── BaseDataGridDropHandler.cs
│ ├── BaseTreeViewDropHandler.cs
│ ├── FilesDropHandler.cs
│ ├── ItemsDataGridDropHandler.cs
│ ├── ItemsListBoxDropHandler.cs
│ ├── NodesListBoxDropHandler.cs
│ └── NodesTreeViewDropHandler.cs
│ ├── BehaviorsTestApplication.csproj
│ ├── Controls
│ ├── CustomControl.axaml
│ ├── CustomControl.axaml.cs
│ ├── EditableItem.axaml
│ ├── EditableItem.axaml.cs
│ └── SingleSelectionTabControl.cs
│ ├── Converters
│ └── ClassesToStringConverter.cs
│ ├── Models
│ ├── DragItem.cs
│ └── Tile.cs
│ ├── Program.cs
│ ├── Properties
│ └── AssemblyInfo.cs
│ ├── Renderers
│ ├── RotatingSquareRenderer.cs
│ ├── SampleWriteableBitmapRenderer.cs
│ └── SolidSquareRenderer.cs
│ ├── SideBar.axaml
│ ├── Styles
│ └── DraggableCustomStyles.axaml
│ ├── ViewModels
│ ├── CursorViewModel.cs
│ ├── CustomAnimatorViewModel.cs
│ ├── DragAndDropSampleViewModel.cs
│ ├── DragItemViewModel.cs
│ ├── DragNodeViewModel.cs
│ ├── DraggableViewModel.cs
│ ├── DrawnCursorViewModel.cs
│ ├── ExecuteCommandBehaviorsViewModel.cs
│ ├── FluidMoveBehaviorViewModel.cs
│ ├── ItemViewModel.cs
│ ├── KeyGestureTriggerViewModel.cs
│ ├── MainWindowViewModel.cs
│ ├── PointerTriggersViewModel.cs
│ ├── ReactiveUI
│ │ ├── DetailPageViewModel.cs
│ │ ├── HomePageViewModel.cs
│ │ ├── InteractionTriggerBehaviorViewModel.cs
│ │ └── ReactiveNavigationViewModel.cs
│ ├── SampleViewModel.cs
│ └── ViewModelBase.cs
│ └── Views
│ ├── MainView.axaml
│ ├── MainView.axaml.cs
│ ├── MainWindow.axaml
│ ├── MainWindow.axaml.cs
│ ├── Pages
│ ├── ActionCollectionTemplateView.axaml
│ ├── ActionCollectionTemplateView.axaml.cs
│ ├── ActualThemeVariantChangedTriggerView.axaml
│ ├── ActualThemeVariantChangedTriggerView.axaml.cs
│ ├── AdaptiveBehaviorView.axaml
│ ├── AdaptiveBehaviorView.axaml.cs
│ ├── AddItemToItemsControlActionView.axaml
│ ├── AddItemToItemsControlActionView.axaml.cs
│ ├── AddRemoveClassActionView.axaml
│ ├── AddRemoveClassActionView.axaml.cs
│ ├── AdvancedView.axaml
│ ├── AdvancedView.axaml.cs
│ ├── AnimateOnAttachedBehaviorView.axaml
│ ├── AnimateOnAttachedBehaviorView.axaml.cs
│ ├── AnimationBehaviorView.axaml
│ ├── AnimationBehaviorView.axaml.cs
│ ├── AnimationCompletedTriggerView.axaml
│ ├── AnimationCompletedTriggerView.axaml.cs
│ ├── AspectRatioBehaviorView.axaml
│ ├── AspectRatioBehaviorView.axaml.cs
│ ├── AutoFocusBehaviorView.axaml
│ ├── AutoFocusBehaviorView.axaml.cs
│ ├── AutoSelectBehaviorView.axaml
│ ├── AutoSelectBehaviorView.axaml.cs
│ ├── BehaviorCollectionTemplateView.axaml
│ ├── BehaviorCollectionTemplateView.axaml.cs
│ ├── BindPointerOverBehaviorView.axaml
│ ├── BindPointerOverBehaviorView.axaml.cs
│ ├── BindTagToVisualRootDataContextBehaviorView.axaml
│ ├── BindTagToVisualRootDataContextBehaviorView.axaml.cs
│ ├── BindingTriggerBehaviorView.axaml
│ ├── BindingTriggerBehaviorView.axaml.cs
│ ├── BoundsObserverBehaviorView.axaml
│ ├── BoundsObserverBehaviorView.axaml.cs
│ ├── ButtonClickEventTriggerBehaviorView.axaml
│ ├── ButtonClickEventTriggerBehaviorView.axaml.cs
│ ├── CallMethodActionView.axaml
│ ├── CallMethodActionView.axaml.cs
│ ├── CarouselNavigationView.axaml
│ ├── CarouselNavigationView.axaml.cs
│ ├── ChangeAvaloniaPropertyActionView.axaml
│ ├── ChangeAvaloniaPropertyActionView.axaml.cs
│ ├── ChangePropertyActionView.axaml
│ ├── ChangePropertyActionView.axaml.cs
│ ├── ClearItemsControlActionView.axaml
│ ├── ClearItemsControlActionView.axaml.cs
│ ├── ClipboardView.axaml
│ ├── ClipboardView.axaml.cs
│ ├── ComboBoxValidationBehaviorView.axaml
│ ├── ComboBoxValidationBehaviorView.axaml.cs
│ ├── ContentControlFilesDropBehaviorView.axaml
│ ├── ContentControlFilesDropBehaviorView.axaml.cs
│ ├── CursorView.axaml
│ ├── CursorView.axaml.cs
│ ├── CustomActionView.axaml
│ ├── CustomActionView.axaml.cs
│ ├── CustomBehaviorView.axaml
│ ├── CustomBehaviorView.axaml.cs
│ ├── DataTriggerBehaviorAdvancedView.axaml
│ ├── DataTriggerBehaviorAdvancedView.axaml.cs
│ ├── DataTriggerBehaviorView.axaml
│ ├── DataTriggerBehaviorView.axaml.cs
│ ├── DatePickerValidationBehaviorView.axaml
│ ├── DatePickerValidationBehaviorView.axaml.cs
│ ├── DragAndDropView.axaml
│ ├── DragAndDropView.axaml.cs
│ ├── DraggableView.axaml
│ ├── DraggableView.axaml.cs
│ ├── DrawnCursorView.axaml
│ ├── DrawnCursorView.axaml.cs
│ ├── EditableDoubleTappedListBoxView.axaml
│ ├── EditableDoubleTappedListBoxView.axaml.cs
│ ├── EditableDoubleTappedTreeViewView.axaml
│ ├── EditableDoubleTappedTreeViewView.axaml.cs
│ ├── EditableDragTreeViewView.axaml
│ ├── EditableDragTreeViewView.axaml.cs
│ ├── EditableDraggableListBoxView.axaml
│ ├── EditableDraggableListBoxView.axaml.cs
│ ├── EditableListBoxView.axaml
│ ├── EditableListBoxView.axaml.cs
│ ├── EditableTreeViewView.axaml
│ ├── EditableTreeViewView.axaml.cs
│ ├── EventTriggerBehaviorView.axaml
│ ├── EventTriggerBehaviorView.axaml.cs
│ ├── EventsBehaviorsView.axaml
│ ├── EventsBehaviorsView.axaml.cs
│ ├── ExecuteCommandBehaviorsView.axaml
│ ├── ExecuteCommandBehaviorsView.axaml.cs
│ ├── ExecuteScriptActionView.axaml
│ ├── ExecuteScriptActionView.axaml.cs
│ ├── FadeInBehaviorView.axaml
│ ├── FadeInBehaviorView.axaml.cs
│ ├── FileDropHandlerView.axaml
│ ├── FileDropHandlerView.axaml.cs
│ ├── FluidMoveBehaviorView.axaml
│ ├── FluidMoveBehaviorView.axaml.cs
│ ├── FlyoutBindingView.axaml
│ ├── FlyoutBindingView.axaml.cs
│ ├── FocusControlActionView.axaml
│ ├── FocusControlActionView.axaml.cs
│ ├── FocusControlBehaviorView.axaml
│ ├── FocusControlBehaviorView.axaml.cs
│ ├── FocusEventTriggersView.axaml
│ ├── FocusEventTriggersView.axaml.cs
│ ├── FocusOnAttachedBehaviorView.axaml
│ ├── FocusOnAttachedBehaviorView.axaml.cs
│ ├── FocusOnAttachedToVisualTreeBehaviorView.axaml
│ ├── FocusOnAttachedToVisualTreeBehaviorView.axaml.cs
│ ├── FocusOnPointerMovedBehaviorView.axaml
│ ├── FocusOnPointerMovedBehaviorView.axaml.cs
│ ├── FocusOnPointerPressedBehaviorView.axaml
│ ├── FocusOnPointerPressedBehaviorView.axaml.cs
│ ├── FocusSelectedItemBehaviorView.axaml
│ ├── FocusSelectedItemBehaviorView.axaml.cs
│ ├── GestureEventTriggersView.axaml
│ ├── GestureEventTriggersView.axaml.cs
│ ├── GetClipboardDataActionView.axaml
│ ├── GetClipboardDataActionView.axaml.cs
│ ├── GetClipboardFormatsActionView.axaml
│ ├── GetClipboardFormatsActionView.axaml.cs
│ ├── HideAttachedFlyoutBehaviorView.axaml
│ ├── HideAttachedFlyoutBehaviorView.axaml.cs
│ ├── HideOnKeyPressedBehaviorView.axaml
│ ├── HideOnKeyPressedBehaviorView.axaml.cs
│ ├── HideOnLostFocusBehaviorView.axaml
│ ├── HideOnLostFocusBehaviorView.axaml.cs
│ ├── HideShowControlActionView.axaml
│ ├── HideShowControlActionView.axaml.cs
│ ├── IfElseTriggerView.axaml
│ ├── IfElseTriggerView.axaml.cs
│ ├── InsertItemToItemsControlActionView.axaml
│ ├── InsertItemToItemsControlActionView.axaml.cs
│ ├── InvokeCommandActionView.axaml
│ ├── InvokeCommandActionView.axaml.cs
│ ├── KeyEventTriggersView.axaml
│ ├── KeyEventTriggersView.axaml.cs
│ ├── KeyGestureTriggerView.axaml
│ ├── KeyGestureTriggerView.axaml.cs
│ ├── KeyTriggerView.axaml
│ ├── KeyTriggerView.axaml.cs
│ ├── LaunchUriOrFileActionView.axaml
│ ├── LaunchUriOrFileActionView.axaml.cs
│ ├── MouseDragBehaviorView.axaml
│ ├── MouseDragBehaviorView.axaml.cs
│ ├── NotNullValidationRuleView.axaml
│ ├── NotNullValidationRuleView.axaml.cs
│ ├── NotificationsView.axaml
│ ├── NotificationsView.axaml.cs
│ ├── NumericUpDownValidationBehaviorView.axaml
│ ├── NumericUpDownValidationBehaviorView.axaml.cs
│ ├── ObjectTemplateView.axaml
│ ├── ObjectTemplateView.axaml.cs
│ ├── OneTimeBinding.axaml
│ ├── OneTimeBinding.axaml.cs
│ ├── PointerEventTriggersView.axaml
│ ├── PointerEventTriggersView.axaml.cs
│ ├── PointerTriggersView.axaml
│ ├── PointerTriggersView.axaml.cs
│ ├── PropertyChangedTriggerView.axaml
│ ├── PropertyChangedTriggerView.axaml.cs
│ ├── RemoveElementActionView.axaml
│ ├── RemoveElementActionView.axaml.cs
│ ├── RemoveItemInItemsControlActionView.axaml
│ ├── RemoveItemInItemsControlActionView.axaml.cs
│ ├── RemoveItemInListBoxActionView.axaml
│ ├── RemoveItemInListBoxActionView.axaml.cs
│ ├── RemoveItemsSampleView.axaml
│ ├── RemoveItemsSampleView.axaml.cs
│ ├── RenderTargetBitmapView.axaml
│ ├── RenderTargetBitmapView.axaml.cs
│ ├── RoutedEventTriggerBehaviorView.axaml
│ ├── RoutedEventTriggerBehaviorView.axaml.cs
│ ├── RunAnimationTriggerView.axaml
│ ├── RunAnimationTriggerView.axaml.cs
│ ├── ScreenView.axaml
│ ├── ScreenView.axaml.cs
│ ├── SetClipboardDataObjectActionView.axaml
│ ├── SetClipboardDataObjectActionView.axaml.cs
│ ├── SetEnabledActionView.axaml
│ ├── SetEnabledActionView.axaml.cs
│ ├── ShowContextMenuActionView.axaml
│ ├── ShowContextMenuActionView.axaml.cs
│ ├── ShowHideFlyoutActionView.axaml
│ ├── ShowHideFlyoutActionView.axaml.cs
│ ├── ShowNotificationActionView.axaml
│ ├── ShowNotificationActionView.axaml.cs
│ ├── SizeChangedTriggerView.axaml
│ ├── SizeChangedTriggerView.axaml.cs
│ ├── SliderValidationBehaviorView.axaml
│ ├── SliderValidationBehaviorView.axaml.cs
│ ├── SlidingAnimationView.axaml
│ ├── SlidingAnimationView.axaml.cs
│ ├── SplitViewStateBehaviorView.axaml
│ ├── SplitViewStateBehaviorView.axaml.cs
│ ├── StartBuiltAnimationActionView.axaml
│ ├── StartBuiltAnimationActionView.axaml.cs
│ ├── StorageProviderView.axaml
│ ├── StorageProviderView.axaml.cs
│ ├── TemplateBindingView.axaml
│ ├── TemplateBindingView.axaml.cs
│ ├── TextBoxValidationBehaviorView.axaml
│ ├── TextBoxValidationBehaviorView.axaml.cs
│ ├── ThemeVariantTriggerView.axaml
│ ├── ThemeVariantTriggerView.axaml.cs
│ ├── ThemeVariantView.axaml
│ ├── ThemeVariantView.axaml.cs
│ ├── TimerTriggerView.axaml
│ ├── TimerTriggerView.axaml.cs
│ ├── ToggleIsExpandedOnDoubleTappedBehaviorView.axaml
│ ├── ToggleIsExpandedOnDoubleTappedBehaviorView.axaml.cs
│ ├── ToolTipHelpersView.axaml
│ ├── ToolTipHelpersView.axaml.cs
│ ├── TransitionsActionsView.axaml
│ ├── TransitionsActionsView.axaml.cs
│ ├── TransitionsBehaviorView.axaml
│ ├── TransitionsBehaviorView.axaml.cs
│ ├── TransitionsChangedTriggerView.axaml
│ ├── TransitionsChangedTriggerView.axaml.cs
│ ├── TypedDragBehaviorView.axaml
│ ├── TypedDragBehaviorView.axaml.cs
│ ├── ValueChangedTriggerBehaviorView.axaml
│ ├── ValueChangedTriggerBehaviorView.axaml.cs
│ ├── ViewportBehaviorView.axaml
│ ├── ViewportBehaviorView.axaml.cs
│ ├── WriteableBitmapView.axaml
│ └── WriteableBitmapView.axaml.cs
│ ├── ReactiveUI
│ ├── DetailPageView.axaml
│ ├── DetailPageView.axaml.cs
│ ├── HomePageView.axaml
│ ├── HomePageView.axaml.cs
│ ├── InteractionTriggerBehaviorView.axaml
│ ├── InteractionTriggerBehaviorView.axaml.cs
│ ├── ObservableTriggerBehaviorView.axaml
│ ├── ObservableTriggerBehaviorView.axaml.cs
│ ├── ReactiveNavigationView.axaml
│ └── ReactiveNavigationView.axaml.cs
│ ├── SampleView.axaml
│ └── SampleView.axaml.cs
├── src
├── Xaml.Behaviors.Avalonia
│ └── Xaml.Behaviors.Avalonia.csproj
├── Xaml.Behaviors.Interactions.Custom
│ ├── Actions
│ │ ├── AddClassAction.cs
│ │ ├── ChangeAvaloniaPropertyAction.cs
│ │ ├── FocusControlAction.cs
│ │ ├── HideControlAction.cs
│ │ ├── HideFlyoutAction.cs
│ │ ├── PopupAction.cs
│ │ ├── RemoveClassAction.cs
│ │ ├── RemoveElementAction.cs
│ │ ├── SetEnabledAction.cs
│ │ ├── SetThemeVariantAction.cs
│ │ ├── ShowContextMenuAction.cs
│ │ ├── ShowControlAction.cs
│ │ └── ShowFlyoutAction.cs
│ ├── Animations
│ │ ├── AnimateOnAttachedBehavior.cs
│ │ ├── AnimationCompletedTrigger.cs
│ │ ├── BeginAnimationAction.cs
│ │ ├── FadeInBehavior.cs
│ │ ├── IAnimationBuilder.cs
│ │ ├── PlayAnimationBehavior.cs
│ │ ├── RunAnimationTrigger.cs
│ │ ├── StartAnimationAction.cs
│ │ └── StartBuiltAnimationAction.cs
│ ├── AutoCompleteBox
│ │ └── FocusAutoCompleteBoxTextBoxBehavior.cs
│ ├── Button
│ │ ├── ButtonClickEventTriggerBehavior.cs
│ │ ├── ButtonExecuteCommandOnKeyDownBehavior.cs
│ │ ├── ButtonHideFlyoutBehavior.cs
│ │ └── ButtonHideFlyoutOnClickBehavior.cs
│ ├── Carousel
│ │ ├── CarouselKeyNavigationBehavior.cs
│ │ ├── CarouselNextAction.cs
│ │ ├── CarouselPreviousAction.cs
│ │ └── CarouselSelectionChangedTrigger.cs
│ ├── Composition
│ │ ├── SelectingItemsControlBehavior.cs
│ │ └── SlidingAnimation.cs
│ ├── Control
│ │ ├── BindPointerOverBehavior.cs
│ │ ├── BindTagToVisualRootDataContextBehavior.cs
│ │ ├── BoundsObserverBehavior.cs
│ │ ├── DragControlBehavior.cs
│ │ ├── HideAttachedFlyoutBehavior.cs
│ │ ├── HideOnKeyPressedBehavior.cs
│ │ ├── HideOnLostFocusBehavior.cs
│ │ ├── InlineEditBehavior.cs
│ │ └── ShowPointerPositionBehavior.cs
│ ├── Converters
│ │ └── PointerEventArgsConverter.cs
│ ├── Core
│ │ ├── ActualThemeVariantChangedBehavior.cs
│ │ ├── ActualThemeVariantChangedTrigger.cs
│ │ ├── AttachedToLogicalTreeBehavior.cs
│ │ ├── AttachedToLogicalTreeTrigger.cs
│ │ ├── AttachedToLogicalTreeTriggerBase.cs
│ │ ├── AttachedToVisualTreeBehavior.cs
│ │ ├── AttachedToVisualTreeTrigger.cs
│ │ ├── AttachedToVisualTreeTriggerBase.cs
│ │ ├── BindingBehavior.cs
│ │ ├── BindingTriggerBehavior.cs
│ │ ├── DataContextChangedBehavior.cs
│ │ ├── DataContextChangedTrigger.cs
│ │ ├── DetachedFromLogicalTreeTrigger.cs
│ │ ├── DetachedFromVisualTreeTrigger.cs
│ │ ├── DisposingBehavior.cs
│ │ ├── DisposingTrigger.cs
│ │ ├── IfElseTrigger.cs
│ │ ├── InitializedBehavior.cs
│ │ ├── InitializedTrigger.cs
│ │ ├── LaunchUriOrFileAction.cs
│ │ ├── LoadedBehavior.cs
│ │ ├── LoadedTrigger.cs
│ │ ├── ObservableTriggerBehavior.cs
│ │ ├── PropertyChangedTrigger.cs
│ │ ├── ResourcesChangedBehavior.cs
│ │ ├── ResourcesChangedTrigger.cs
│ │ ├── RoutedEventTrigger.cs
│ │ ├── RoutedEventTriggerBase.cs
│ │ ├── RoutedEventTriggerBaseOfT.cs
│ │ ├── RoutedEventTriggerBehavior.cs
│ │ ├── SizeChangedTrigger.cs
│ │ ├── UnloadedTrigger.cs
│ │ └── ValueChangedTriggerBehavior.cs
│ ├── Cursor
│ │ ├── ICursorProvider.cs
│ │ ├── PointerOverCursorBehavior.cs
│ │ ├── SetCursorAction.cs
│ │ ├── SetCursorBehavior.cs
│ │ ├── SetCursorFromProviderAction.cs
│ │ └── SetCursorFromProviderBehavior.cs
│ ├── ExecuteCommand
│ │ ├── Core
│ │ │ ├── ExecuteCommandBehaviorBase.cs
│ │ │ ├── ExecuteCommandOnKeyBehaviorBase.cs
│ │ │ └── ExecuteCommandRoutedEventBehaviorBase.cs
│ │ ├── ExecuteCommandOnActivatedBehavior.cs
│ │ ├── ExecuteCommandOnDoubleTappedBehavior.cs
│ │ ├── ExecuteCommandOnGotFocusBehavior.cs
│ │ ├── ExecuteCommandOnHoldingBehavior.cs
│ │ ├── ExecuteCommandOnKeyDownBehavior.cs
│ │ ├── ExecuteCommandOnKeyUpBehavior.cs
│ │ ├── ExecuteCommandOnLostFocusBehavior.cs
│ │ ├── ExecuteCommandOnPinchBehavior.cs
│ │ ├── ExecuteCommandOnPinchEndedBehavior.cs
│ │ ├── ExecuteCommandOnPointerCaptureLostBehavior.cs
│ │ ├── ExecuteCommandOnPointerEnteredBehavior.cs
│ │ ├── ExecuteCommandOnPointerExitedBehavior.cs
│ │ ├── ExecuteCommandOnPointerMovedBehavior.cs
│ │ ├── ExecuteCommandOnPointerPressedBehavior.cs
│ │ ├── ExecuteCommandOnPointerReleasedBehavior.cs
│ │ ├── ExecuteCommandOnPointerTouchPadGestureMagnifyBehavior.cs
│ │ ├── ExecuteCommandOnPointerTouchPadGestureRotateBehavior.cs
│ │ ├── ExecuteCommandOnPointerTouchPadGestureSwipeBehavior.cs
│ │ ├── ExecuteCommandOnPointerWheelChangedBehavior.cs
│ │ ├── ExecuteCommandOnPullGestureBehavior.cs
│ │ ├── ExecuteCommandOnPullGestureEndedBehavior.cs
│ │ ├── ExecuteCommandOnRightTappedBehavior.cs
│ │ ├── ExecuteCommandOnScrollGestureBehavior.cs
│ │ ├── ExecuteCommandOnScrollGestureEndedBehavior.cs
│ │ ├── ExecuteCommandOnScrollGestureInertiaStartingBehavior.cs
│ │ ├── ExecuteCommandOnTappedBehavior.cs
│ │ ├── ExecuteCommandOnTextInputBehavior.cs
│ │ └── ExecuteCommandOnTextInputMethodClientRequestedBehavior.cs
│ ├── Focus
│ │ ├── AutoFocusBehavior.cs
│ │ ├── FocusBehavior.cs
│ │ ├── FocusBehaviorBase.cs
│ │ ├── FocusControlBehavior.cs
│ │ ├── FocusOnAttachedBehavior.cs
│ │ ├── FocusOnAttachedToVisualTreeBehavior.cs
│ │ ├── FocusOnPointerMovedBehavior.cs
│ │ ├── FocusOnPointerPressedBehavior.cs
│ │ └── FocusSelectedItemBehavior.cs
│ ├── Gestures
│ │ ├── DoubleTappedGestureTrigger.cs
│ │ ├── HoldingGestureTrigger.cs
│ │ ├── PinchEndedGestureTrigger.cs
│ │ ├── PinchGestureTrigger.cs
│ │ ├── PointerTouchPadGestureMagnifyGestureTrigger.cs
│ │ ├── PointerTouchPadGestureRotateGestureTrigger.cs
│ │ ├── PointerTouchPadGestureSwipeGestureTrigger.cs
│ │ ├── PullGestureEndedGestureTrigger.cs
│ │ ├── PullGestureGestureTrigger.cs
│ │ ├── RightTappedGestureTrigger.cs
│ │ ├── ScrollGestureEndedGestureTrigger.cs
│ │ ├── ScrollGestureGestureTrigger.cs
│ │ ├── ScrollGestureInertiaStartingGestureTrigger.cs
│ │ └── TappedGestureTrigger.cs
│ ├── InputElement
│ │ ├── Actions
│ │ │ ├── CapturePointerAction.cs
│ │ │ └── ReleasePointerCaptureAction.cs
│ │ └── Triggers
│ │ │ ├── DoubleTappedTrigger.cs
│ │ │ ├── GotFocusTrigger.cs
│ │ │ ├── HoldingTrigger.cs
│ │ │ ├── KeyDownTrigger.cs
│ │ │ ├── KeyGestureTrigger.cs
│ │ │ ├── KeyTrigger.cs
│ │ │ ├── KeyUpTrigger.cs
│ │ │ ├── LostFocusTrigger.cs
│ │ │ ├── PointerCaptureLostTrigger.cs
│ │ │ ├── PointerEnteredTrigger.cs
│ │ │ ├── PointerExitedTrigger.cs
│ │ │ ├── PointerMovedTrigger.cs
│ │ │ ├── PointerPressedTrigger.cs
│ │ │ ├── PointerReleasedTrigger.cs
│ │ │ ├── PointerWheelChangedTrigger.cs
│ │ │ ├── TappedTrigger.cs
│ │ │ ├── TextInputMethodClientRequestedTrigger.cs
│ │ │ └── TextInputTrigger.cs
│ ├── ItemsControl
│ │ ├── AddItemToItemsControlAction.cs
│ │ ├── ClearItemsControlAction.cs
│ │ ├── InsertItemToItemsControlAction.cs
│ │ ├── ItemNudgeDropBehavior.cs
│ │ ├── ItemsControlContainerClearingTrigger.cs
│ │ ├── ItemsControlContainerEventsBehavior.cs
│ │ ├── ItemsControlContainerIndexChangedTrigger.cs
│ │ ├── ItemsControlContainerPreparedTrigger.cs
│ │ ├── ItemsControlPreparingContainerTrigger.cs
│ │ ├── RemoveItemInItemsControlAction.cs
│ │ ├── ScrollToItemBehavior.cs
│ │ └── ScrollToItemIndexBehavior.cs
│ ├── Layout
│ │ └── FluidMoveBehavior.cs
│ ├── ListBox
│ │ ├── ListBoxSelectAllBehavior.cs
│ │ ├── ListBoxUnselectAllBehavior.cs
│ │ └── RemoveItemInListBoxAction.cs
│ ├── ListBoxItem
│ │ └── SelectListBoxItemOnPointerMovedBehavior.cs
│ ├── Notifications
│ │ ├── CloseNotificationAction.cs
│ │ ├── NotificationManagerBehavior.cs
│ │ ├── ShowErrorNotificationAction.cs
│ │ ├── ShowInformationNotificationAction.cs
│ │ ├── ShowNotificationAction.cs
│ │ ├── ShowSuccessNotificationAction.cs
│ │ └── ShowWarningNotificationAction.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── RenderTarget
│ │ ├── IRenderTargetBitmapRenderHost.cs
│ │ ├── IRenderTargetBitmapRenderer.cs
│ │ ├── IRenderTargetBitmapSimpleRenderer.cs
│ │ ├── RenderRenderTargetBitmapAction.cs
│ │ ├── RenderTargetBitmapBehavior.cs
│ │ ├── RenderTargetBitmapTrigger.cs
│ │ └── StaticRenderTargetBitmapBehavior.cs
│ ├── Screen
│ │ ├── ActiveScreenBehavior.cs
│ │ ├── RequestScreenDetailsAction.cs
│ │ └── ScreensChangedTrigger.cs
│ ├── ScrollViewer
│ │ ├── HorizontalScrollViewerBehavior.cs
│ │ └── ViewportBehavior.cs
│ ├── SelectingItemsControl
│ │ ├── SelectingItemsControlEventsBehavior.cs
│ │ └── SelectingItemsControlSearchBehavior.cs
│ ├── Show
│ │ ├── ShowBehaviorBase.cs
│ │ ├── ShowOnDoubleTappedBehavior.cs
│ │ ├── ShowOnKeyDownBehavior.cs
│ │ └── ShowOnTappedBehavior.cs
│ ├── SplitView
│ │ ├── SplitViewPaneClosedTrigger.cs
│ │ ├── SplitViewPaneClosingTrigger.cs
│ │ ├── SplitViewPaneOpenedTrigger.cs
│ │ ├── SplitViewPaneOpeningTrigger.cs
│ │ ├── SplitViewStateBehavior.cs
│ │ ├── SplitViewStateSetter.cs
│ │ └── SplitViewTogglePaneAction.cs
│ ├── TextBox
│ │ ├── AutoSelectBehavior.cs
│ │ ├── TextBoxSelectAllOnGotFocusBehavior.cs
│ │ └── TextBoxSelectAllTextBehavior.cs
│ ├── ThemeVariant
│ │ ├── ThemeVariantBehavior.cs
│ │ └── ThemeVariantTrigger.cs
│ ├── ToolTips
│ │ ├── HideToolTipAction.cs
│ │ ├── SetToolTipTipAction.cs
│ │ ├── ShowToolTipAction.cs
│ │ ├── ToolTipClosingTrigger.cs
│ │ └── ToolTipOpeningTrigger.cs
│ ├── Transitions
│ │ ├── AddTransitionAction.cs
│ │ ├── ClearTransitionsAction.cs
│ │ ├── RemoveTransitionAction.cs
│ │ ├── TransitionsBehavior.cs
│ │ └── TransitionsChangedTrigger.cs
│ ├── TreeViewItem
│ │ └── ToggleIsExpandedOnDoubleTappedBehavior.cs
│ ├── Validation
│ │ ├── ComboBoxValidationBehavior.cs
│ │ ├── DatePickerValidationBehavior.cs
│ │ ├── NumericUpDownValidationBehavior.cs
│ │ ├── PropertyValidationBehavior.cs
│ │ ├── Rules
│ │ │ ├── IValidationRule.cs
│ │ │ ├── MaxValueValidationRule.cs
│ │ │ ├── MinLengthValidationRule.cs
│ │ │ ├── MinValueValidationRule.cs
│ │ │ ├── NotNullValidationRule.cs
│ │ │ ├── RangeValidationRule.cs
│ │ │ ├── RegexValidationRule.cs
│ │ │ ├── RequiredDateValidationRule.cs
│ │ │ ├── RequiredDecimalValidationRule.cs
│ │ │ └── RequiredTextValidationRule.cs
│ │ ├── SliderValidationBehavior.cs
│ │ └── TextBoxValidationBehavior.cs
│ ├── WriteableBitmap
│ │ ├── IWriteableBitmapRenderer.cs
│ │ ├── WriteableBitmapBehavior.cs
│ │ ├── WriteableBitmapRenderAction.cs
│ │ ├── WriteableBitmapRenderBehavior.cs
│ │ ├── WriteableBitmapTimerTrigger.cs
│ │ └── WriteableBitmapTrigger.cs
│ └── Xaml.Behaviors.Interactions.Custom.csproj
├── Xaml.Behaviors.Interactions.DragAndDrop
│ ├── ContentControlFilesDropBehavior.cs
│ ├── ContextDragBehavior.cs
│ ├── ContextDragBehaviorBase.cs
│ ├── ContextDragWithDirectionBehavior.cs
│ ├── ContextDropBehavior.cs
│ ├── ContextDropBehaviorBase.cs
│ ├── DragAndDropEventsBehavior.cs
│ ├── DropBehaviorBase.cs
│ ├── DropHandlerBase.cs
│ ├── FilesDropBehavior.cs
│ ├── IDragHandler.cs
│ ├── IDropHandler.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── TextDropBehavior.cs
│ ├── TypedDragBehavior.cs
│ ├── TypedDragBehaviorBase.cs
│ └── Xaml.Behaviors.Interactions.DragAndDrop.csproj
├── Xaml.Behaviors.Interactions.Draggable
│ ├── CanvasDragBehavior.cs
│ ├── GridDragBehavior.cs
│ ├── ItemDragBehavior.cs
│ ├── MouseDragElementBehavior.cs
│ ├── MultiMouseDragElementBehavior.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── SelectionAdorner.cs
│ ├── Styles.axaml
│ └── Xaml.Behaviors.Interactions.Draggable.csproj
├── Xaml.Behaviors.Interactions.Events
│ ├── Core
│ │ ├── InteractiveBehaviorBase.cs
│ │ └── InteractiveTriggerBase.cs
│ ├── DoubleTappedEventBehavior.cs
│ ├── DoubleTappedEventTrigger.cs
│ ├── GotFocusEventBehavior.cs
│ ├── GotFocusEventTrigger.cs
│ ├── KeyDownEventBehavior.cs
│ ├── KeyDownEventTrigger.cs
│ ├── KeyUpEventBehavior.cs
│ ├── KeyUpEventTrigger.cs
│ ├── LostFocusEventBehavior.cs
│ ├── LostFocusEventTrigger.cs
│ ├── PointerCaptureLostEventBehavior.cs
│ ├── PointerCaptureLostEventTrigger.cs
│ ├── PointerEnteredEventBehavior.cs
│ ├── PointerEnteredEventTrigger.cs
│ ├── PointerEventsBehavior.cs
│ ├── PointerEventsTrigger.cs
│ ├── PointerExitedEventBehavior.cs
│ ├── PointerExitedEventTrigger.cs
│ ├── PointerMovedEventBehavior.cs
│ ├── PointerMovedEventTrigger.cs
│ ├── PointerPressedEventBehavior.cs
│ ├── PointerPressedEventTrigger.cs
│ ├── PointerReleasedEventBehavior.cs
│ ├── PointerReleasedEventTrigger.cs
│ ├── PointerWheelChangedEventBehavior.cs
│ ├── PointerWheelChangedEventTrigger.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── RightTappedEventBehavior.cs
│ ├── RightTappedEventTrigger.cs
│ ├── ScrollGestureEndedEventBehavior.cs
│ ├── ScrollGestureEndedEventTrigger.cs
│ ├── ScrollGestureEventBehavior.cs
│ ├── ScrollGestureEventTrigger.cs
│ ├── TappedEventBehavior.cs
│ ├── TappedEventTrigger.cs
│ ├── TextInputEventBehavior.cs
│ ├── TextInputEventTrigger.cs
│ ├── TextInputMethodClientRequestedEventBehavior.cs
│ ├── TextInputMethodClientRequestedEventTrigger.cs
│ └── Xaml.Behaviors.Interactions.Events.csproj
├── Xaml.Behaviors.Interactions.ReactiveUI
│ ├── ClearNavigationStackAction.cs
│ ├── InteractionTriggerBehavior.cs
│ ├── NavigateAction.cs
│ ├── NavigateAndReset.cs
│ ├── NavigateBackAction.cs
│ ├── NavigateToAction.cs
│ ├── NavigateToAndResetAction.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── Xaml.Behaviors.Interactions.ReactiveUI.csproj
├── Xaml.Behaviors.Interactions.Responsive
│ ├── AdaptiveBehavior.cs
│ ├── AdaptiveClassSetter.cs
│ ├── AspectRatioBehavior.cs
│ ├── AspectRatioClassSetter.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── Xaml.Behaviors.Interactions.Responsive.csproj
├── Xaml.Behaviors.Interactions.Scripting
│ ├── ExecuteScriptAction.cs
│ ├── ExecuteScriptActionGlobals.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── Xaml.Behaviors.Interactions.Scripting.csproj
├── Xaml.Behaviors.Interactions
│ ├── Clipboard
│ │ ├── ClearClipboardAction.cs
│ │ ├── GetClipboardDataAction.cs
│ │ ├── GetClipboardFormatsAction.cs
│ │ ├── GetClipboardTextAction.cs
│ │ ├── SetClipboardDataObjectAction.cs
│ │ └── SetClipboardTextAction.cs
│ ├── Core
│ │ ├── CallMethodAction.cs
│ │ ├── ChangePropertyAction.cs
│ │ ├── DataTrigger.cs
│ │ ├── DataTriggerBehavior.cs
│ │ ├── EventTrigger.cs
│ │ ├── EventTriggerBehavior.cs
│ │ ├── InvokeCommandAction.cs
│ │ ├── InvokeCommandActionBase.cs
│ │ └── TimerTrigger.cs
│ ├── ExecuteCommand
│ │ └── InvokeCommandBehaviorBase.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── StorageProvider
│ │ ├── Button
│ │ │ ├── ButtonOpenFilePickerBehavior.cs
│ │ │ ├── ButtonOpenFolderPickerBehavior.cs
│ │ │ └── ButtonSaveFilePickerBehavior.cs
│ │ ├── Converters
│ │ │ ├── StorageFileToReadStreamConverter.cs
│ │ │ ├── StorageFileToWriteStreamConverter.cs
│ │ │ └── StorageItemToPathConverter.cs
│ │ ├── Core
│ │ │ ├── PickerActionBase.cs
│ │ │ └── PickerBehaviorBase.cs
│ │ ├── MenuItem
│ │ │ ├── MenuItemOpenFilePickerBehavior.cs
│ │ │ ├── MenuItemOpenFolderPickerBehavior.cs
│ │ │ └── MenuItemSaveFilePickerBehavior.cs
│ │ ├── OpenFilePickerAction.cs
│ │ ├── OpenFilePickerBehaviorBase.cs
│ │ ├── OpenFolderPickerAction.cs
│ │ ├── OpenFolderPickerBehaviorBase.cs
│ │ ├── SaveFilePickerAction.cs
│ │ ├── SaveFilePickerBehaviorBase.cs
│ │ └── Utilities
│ │ │ └── FileFilterParser.cs
│ └── Xaml.Behaviors.Interactions.csproj
├── Xaml.Behaviors.Interactivity
│ ├── AvaloniaObject
│ │ ├── Action.cs
│ │ ├── Behavior.cs
│ │ ├── BehaviorOfT.cs
│ │ ├── Trigger.cs
│ │ └── TriggerOfT.cs
│ ├── Collections
│ │ ├── ActionCollection.cs
│ │ └── BehaviorCollection.cs
│ ├── Contract
│ │ ├── ComparisonConditionType.cs
│ │ ├── IAction.cs
│ │ ├── IBehavior.cs
│ │ ├── IBehaviorEventsHandler.cs
│ │ └── ITrigger.cs
│ ├── DisposableAction.cs
│ ├── Events
│ │ ├── AddEventHandlerRegistry.cs
│ │ ├── Handlers
│ │ │ ├── ButtonClickEventHandler.cs
│ │ │ ├── FuncEventHandler.cs
│ │ │ └── MenuItemClickEventHandler.cs
│ │ └── IAddEventHandler.cs
│ ├── Helpers
│ │ ├── ComparisonConditionTypeHelper.cs
│ │ ├── ParseHelper.cs
│ │ ├── TemplatedParentHelper.cs
│ │ └── TypeConverterHelper.cs
│ ├── Interaction.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── StyledElement
│ │ ├── StyledElementAction.cs
│ │ ├── StyledElementBehavior.cs
│ │ ├── StyledElementBehaviorOfT.cs
│ │ ├── StyledElementTrigger.cs
│ │ └── StyledElementTriggerOfT.cs
│ ├── System
│ │ └── Diagnostics
│ │ │ └── CodeAnalysis
│ │ │ └── TrimmingAttributes.cs
│ ├── Templates
│ │ ├── ActionCollectionTemplate.cs
│ │ ├── BehaviorCollectionTemplate.cs
│ │ ├── NotificationTemplate.cs
│ │ └── ObjectTemplate.cs
│ └── Xaml.Behaviors.Interactivity.csproj
└── Xaml.Behaviors
│ ├── Properties
│ └── AssemblyInfo.cs
│ └── Xaml.Behaviors.csproj
└── tests
├── Xaml.Behaviors.Interactions.UnitTests
├── App.axaml
├── App.axaml.cs
├── Assets
│ ├── NotoMono-Regular.ttf
│ ├── NotoSans-Italic.ttf
│ ├── NotoSansArabic-Regular.ttf
│ └── NotoSansHebrew-Regular.ttf
├── Core
│ ├── CallMethodAction001.axaml
│ ├── CallMethodAction001.axaml.cs
│ ├── CallMethodAction002.axaml
│ ├── CallMethodAction002.axaml.cs
│ ├── CallMethodActionTests.CallMethodAction_001.Linux.verified.png
│ ├── CallMethodActionTests.CallMethodAction_001.Linux.verified.txt
│ ├── CallMethodActionTests.CallMethodAction_001.OSX.verified.png
│ ├── CallMethodActionTests.CallMethodAction_001.OSX.verified.txt
│ ├── CallMethodActionTests.CallMethodAction_001.Windows.verified.png
│ ├── CallMethodActionTests.CallMethodAction_001.Windows.verified.txt
│ ├── CallMethodActionTests.CallMethodAction_002.Linux.verified.png
│ ├── CallMethodActionTests.CallMethodAction_002.Linux.verified.txt
│ ├── CallMethodActionTests.CallMethodAction_002.OSX.verified.png
│ ├── CallMethodActionTests.CallMethodAction_002.OSX.verified.txt
│ ├── CallMethodActionTests.CallMethodAction_002.Windows.verified.png
│ ├── CallMethodActionTests.CallMethodAction_002.Windows.verified.txt
│ ├── CallMethodActionTests.cs
│ ├── ChangePropertyAction001.axaml
│ ├── ChangePropertyAction001.axaml.cs
│ ├── ChangePropertyAction002.axaml
│ ├── ChangePropertyAction002.axaml.cs
│ ├── ChangePropertyActionTests.ChangePropertyAction_001.Linux.verified.png
│ ├── ChangePropertyActionTests.ChangePropertyAction_001.Linux.verified.txt
│ ├── ChangePropertyActionTests.ChangePropertyAction_001.OSX.verified.png
│ ├── ChangePropertyActionTests.ChangePropertyAction_001.OSX.verified.txt
│ ├── ChangePropertyActionTests.ChangePropertyAction_001.Windows.verified.png
│ ├── ChangePropertyActionTests.ChangePropertyAction_001.Windows.verified.txt
│ ├── ChangePropertyActionTests.ChangePropertyAction_002.Linux.verified.png
│ ├── ChangePropertyActionTests.ChangePropertyAction_002.Linux.verified.txt
│ ├── ChangePropertyActionTests.ChangePropertyAction_002.OSX.verified.png
│ ├── ChangePropertyActionTests.ChangePropertyAction_002.OSX.verified.txt
│ ├── ChangePropertyActionTests.ChangePropertyAction_002.Windows.verified.png
│ ├── ChangePropertyActionTests.ChangePropertyAction_002.Windows.verified.txt
│ ├── ChangePropertyActionTests.cs
│ ├── Command.cs
│ ├── DataTriggerBehavior001.axaml
│ ├── DataTriggerBehavior001.axaml.cs
│ ├── DataTriggerBehaviorTests.DataTriggerBehavior_001.Linux.verified.png
│ ├── DataTriggerBehaviorTests.DataTriggerBehavior_001.Linux.verified.txt
│ ├── DataTriggerBehaviorTests.DataTriggerBehavior_001.OSX.verified.png
│ ├── DataTriggerBehaviorTests.DataTriggerBehavior_001.OSX.verified.txt
│ ├── DataTriggerBehaviorTests.DataTriggerBehavior_001.Windows.verified.png
│ ├── DataTriggerBehaviorTests.DataTriggerBehavior_001.Windows.verified.txt
│ ├── DataTriggerBehaviorTests.cs
│ ├── EventTriggerBehavior001.axaml
│ ├── EventTriggerBehavior001.axaml.cs
│ ├── EventTriggerBehavior002.axaml
│ ├── EventTriggerBehavior002.axaml.cs
│ ├── EventTriggerBehavior003.axaml
│ ├── EventTriggerBehavior003.axaml.cs
│ ├── EventTriggerBehavior004.axaml
│ ├── EventTriggerBehavior004.axaml.cs
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_001.Linux.verified.png
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_001.Linux.verified.txt
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_001.OSX.verified.png
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_001.OSX.verified.txt
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_001.Windows.verified.png
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_001.Windows.verified.txt
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_002.Linux.verified.png
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_002.Linux.verified.txt
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_002.OSX.verified.png
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_002.OSX.verified.txt
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_002.Windows.verified.png
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_002.Windows.verified.txt
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_003.Linux.verified.png
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_003.Linux.verified.txt
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_003.OSX.verified.png
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_003.OSX.verified.txt
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_003.Windows.verified.png
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_003.Windows.verified.txt
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_004.Linux.verified.png
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_004.Linux.verified.txt
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_004.OSX.verified.png
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_004.OSX.verified.txt
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_004.Windows.verified.png
│ ├── EventTriggerBehaviorTests.EventTriggerBehavior_004.Windows.verified.txt
│ ├── EventTriggerBehaviorTests.cs
│ ├── InvokeCommandAction001.axaml
│ ├── InvokeCommandAction001.axaml.cs
│ ├── InvokeCommandAction002.axaml
│ ├── InvokeCommandAction002.axaml.cs
│ ├── InvokeCommandAction003.axaml
│ ├── InvokeCommandAction003.axaml.cs
│ ├── InvokeCommandAction004.axaml
│ ├── InvokeCommandAction004.axaml.cs
│ ├── InvokeCommandActionTests.InvokeCommandAction_001.Linux.verified.png
│ ├── InvokeCommandActionTests.InvokeCommandAction_001.Linux.verified.txt
│ ├── InvokeCommandActionTests.InvokeCommandAction_001.OSX.verified.png
│ ├── InvokeCommandActionTests.InvokeCommandAction_001.OSX.verified.txt
│ ├── InvokeCommandActionTests.InvokeCommandAction_001.Windows.verified.png
│ ├── InvokeCommandActionTests.InvokeCommandAction_001.Windows.verified.txt
│ ├── InvokeCommandActionTests.InvokeCommandAction_002.Linux.verified.png
│ ├── InvokeCommandActionTests.InvokeCommandAction_002.Linux.verified.txt
│ ├── InvokeCommandActionTests.InvokeCommandAction_002.OSX.verified.png
│ ├── InvokeCommandActionTests.InvokeCommandAction_002.OSX.verified.txt
│ ├── InvokeCommandActionTests.InvokeCommandAction_002.Windows.verified.png
│ ├── InvokeCommandActionTests.InvokeCommandAction_002.Windows.verified.txt
│ ├── InvokeCommandActionTests.InvokeCommandAction_003.Linux.verified.png
│ ├── InvokeCommandActionTests.InvokeCommandAction_003.Linux.verified.txt
│ ├── InvokeCommandActionTests.InvokeCommandAction_003.OSX.verified.png
│ ├── InvokeCommandActionTests.InvokeCommandAction_003.OSX.verified.txt
│ ├── InvokeCommandActionTests.InvokeCommandAction_003.Windows.verified.png
│ ├── InvokeCommandActionTests.InvokeCommandAction_003.Windows.verified.txt
│ ├── InvokeCommandActionTests.InvokeCommandAction_004.Linux.verified.png
│ ├── InvokeCommandActionTests.InvokeCommandAction_004.Linux.verified.txt
│ ├── InvokeCommandActionTests.InvokeCommandAction_004.OSX.verified.png
│ ├── InvokeCommandActionTests.InvokeCommandAction_004.OSX.verified.txt
│ ├── InvokeCommandActionTests.InvokeCommandAction_004.Windows.verified.png
│ ├── InvokeCommandActionTests.InvokeCommandAction_004.Windows.verified.txt
│ ├── InvokeCommandActionTests.cs
│ └── TestValueConverter.cs
├── HeadlessWindowExtensions.cs
├── ModuleInit.cs
├── Properties
│ └── AssemblyInfo.cs
├── TestAppBuilder.cs
└── Xaml.Behaviors.Interactions.UnitTests.csproj
└── Xaml.Behaviors.Interactivity.UnitTests
├── AddEventHandlerRegistryTests.cs
├── App.axaml
├── App.axaml.cs
├── BehaviorOfTTests.cs
├── BehaviorTests.cs
├── Collections
├── ActionCollectionTemplate001.axaml
├── ActionCollectionTemplate001.axaml.cs
├── ActionCollectionTemplateTests.cs
├── BehaviorCollectionTemplate001.axaml
├── BehaviorCollectionTemplate001.axaml.cs
├── BehaviorCollectionTemplateTests.cs
└── BehaviorCollectionTest.cs
├── InteractionTest.cs
├── InteractionTests.cs
├── Properties
└── AssemblyInfo.cs
├── StubAction.cs
├── StubBehavior.cs
├── TestAppBuilder.cs
├── TestUitilties.cs
├── TriggerOfTTests.cs
├── TriggerTests.cs
└── Xaml.Behaviors.Interactivity.UnitTests.csproj
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
19 |
20 | # VerifyTests
21 | *.png binary
22 | *.verified.txt text eol=lf working-tree-encoding=UTF-8
23 | *.verified.xml text eol=lf working-tree-encoding=UTF-8
24 | *.verified.json text eol=lf working-tree-encoding=UTF-8
--------------------------------------------------------------------------------
/.github/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # https://probot.github.io/apps/stale/
2 |
3 | # Number of days of inactivity before an issue becomes stale
4 | daysUntilStale: 60
5 |
6 | # Number of days of inactivity before a stale issue is closed
7 | daysUntilClose: 7
8 |
9 | # Issues with these labels will never be considered stale
10 | exemptLabels:
11 | - pinned
12 | - security
13 |
14 | # Label to use when marking an issue as stale
15 | staleLabel: stale
16 |
17 | # Comment to post when marking an issue as stale. Set to `false` to disable
18 | markComment: >
19 | This issue has been automatically marked as stale because it has not had
20 | recent activity. It will be closed if no further activity occurs. Thank you
21 | for your contributions.
22 |
23 | # Comment to post when closing a stale issue. Set to `false` to disable
24 | # closeComment: false
25 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: [wieslawsoltes]
2 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # To get started with Dependabot version updates, you'll need to specify which
2 | # package ecosystems to update and where the package manifests are located.
3 | # Please see the documentation for all configuration options:
4 | # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5 |
6 | version: 2
7 | updates:
8 | - package-ecosystem: "" # See documentation for possible values
9 | directory: "/" # Location of package manifests
10 | schedule:
11 | interval: "weekly"
12 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # https://probot.github.io/apps/stale/
2 |
3 | # Number of days of inactivity before an issue becomes stale
4 | daysUntilStale: 60
5 |
6 | # Number of days of inactivity before a stale issue is closed
7 | daysUntilClose: 7
8 |
9 | # Issues with these labels will never be considered stale
10 | exemptLabels:
11 | - pinned
12 | - security
13 |
14 | # Label to use when marking an issue as stale
15 | staleLabel: stale
16 |
17 | # Comment to post when marking an issue as stale. Set to `false` to disable
18 | markComment: >
19 | This issue has been automatically marked as stale because it has not had
20 | recent activity. It will be closed if no further activity occurs. Thank you
21 | for your contributions.
22 |
23 | # Comment to post when closing a stale issue. Set to `false` to disable
24 | closeComment: true
25 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 | permissions:
3 | contents: read
4 | pull-requests: write
5 |
6 | on:
7 | push:
8 | branches:
9 | - master
10 | - release/*
11 | pull_request:
12 | branches:
13 | - master
14 |
15 | jobs:
16 | build:
17 | strategy:
18 | matrix:
19 | os: [ubuntu-latest, windows-latest, macos-latest]
20 | name: Build ${{ matrix.os }}
21 | runs-on: ${{ matrix.os }}
22 |
23 | steps:
24 | - uses: actions/checkout@v1
25 | - name: Setup .NET Core
26 | uses: actions/setup-dotnet@v1
27 | - name: Build Release
28 | run: dotnet build --configuration Release
29 | - name: Test Release
30 | run: dotnet test --configuration Release
31 |
--------------------------------------------------------------------------------
/.nuke/parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./build.schema.json",
3 | "Solution": "AvaloniaBehaviors.sln"
4 | }
--------------------------------------------------------------------------------
/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | 11.3.0.10
4 |
5 | Wiesław Šoltés
6 | Wiesław Šoltés
7 | Copyright © Wiesław Šoltés 2025
8 | MIT
9 | https://github.com/wieslawsoltes/Xaml.Behaviors
10 | true
11 |
12 |
13 | latest
14 | 13
15 | true
16 |
17 |
18 |
--------------------------------------------------------------------------------
/NuGet.Config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-cayman
--------------------------------------------------------------------------------
/build.cmd:
--------------------------------------------------------------------------------
1 | :; set -eo pipefail
2 | :; SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd)
3 | :; ${SCRIPT_DIR}/build.sh "$@"
4 | :; exit $?
5 |
6 | @ECHO OFF
7 | powershell -ExecutionPolicy ByPass -NoProfile -File "%~dp0build.ps1" %*
8 |
--------------------------------------------------------------------------------
/build/SignAssembly.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | True
5 | $(MSBuildThisFileDirectory)\behaviors.public.snk
6 | false
7 | true
8 |
9 |
10 |
--------------------------------------------------------------------------------
/build/XUnit.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/build/behaviors.public.snk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/build/behaviors.public.snk
--------------------------------------------------------------------------------
/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "sdk": {
3 | "version": "9.0.100",
4 | "rollForward": "latestMinor",
5 | "allowPrerelease": true
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/samples/BehaviorsTestApplication/Animations/CustomStringAnimator.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Avalonia.Animation;
3 | using Avalonia.Animation.Animators;
4 |
5 | namespace BehaviorsTestApplication.Animations;
6 |
7 | ///
8 | /// Animates a string by progressively revealing characters.
9 | ///
10 | public class CustomStringAnimator : InterpolatingAnimator
11 | {
12 | ///
13 | public override string Interpolate(double progress, string oldValue, string newValue)
14 | {
15 | if (string.IsNullOrEmpty(newValue))
16 | {
17 | return string.Empty;
18 | }
19 |
20 | var step = 1.0 / newValue.Length;
21 | var length = (int)(progress / step);
22 | return newValue.Substring(0, Math.Clamp(length + 1, 0, newValue.Length));
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/samples/BehaviorsTestApplication/Assets/delicate-arch-896885_640.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/samples/BehaviorsTestApplication/Assets/delicate-arch-896885_640.jpg
--------------------------------------------------------------------------------
/samples/BehaviorsTestApplication/Assets/hirsch-899118_640.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/samples/BehaviorsTestApplication/Assets/hirsch-899118_640.jpg
--------------------------------------------------------------------------------
/samples/BehaviorsTestApplication/Assets/maple-leaf-888807_640.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/samples/BehaviorsTestApplication/Assets/maple-leaf-888807_640.jpg
--------------------------------------------------------------------------------
/samples/BehaviorsTestApplication/Controls/CustomControl.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls.Primitives;
3 |
4 | namespace BehaviorsTestApplication.Controls;
5 |
6 | public class CustomControl : TemplatedControl
7 | {
8 | public static readonly StyledProperty IsMenuOpenProperty =
9 | AvaloniaProperty.Register(nameof(IsMenuOpen));
10 |
11 | public bool IsMenuOpen
12 | {
13 | get => GetValue(IsMenuOpenProperty);
14 | set => SetValue(IsMenuOpenProperty, value);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/samples/BehaviorsTestApplication/Controls/EditableItem.axaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Data;
4 | using Avalonia.Markup.Xaml;
5 |
6 | namespace BehaviorsTestApplication.Controls;
7 |
8 | public partial class EditableItem : UserControl
9 | {
10 | public static readonly StyledProperty TextProperty =
11 | TextBlock.TextProperty.AddOwner(new(
12 | defaultBindingMode: BindingMode.TwoWay));
13 |
14 | public string? Text
15 | {
16 | get => GetValue(TextProperty);
17 | set => SetValue(TextProperty, value);
18 | }
19 |
20 | public EditableItem()
21 | {
22 | InitializeComponent();
23 | }
24 |
25 | private void InitializeComponent()
26 | {
27 | AvaloniaXamlLoader.Load(this);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/samples/BehaviorsTestApplication/Controls/SingleSelectionTabControl.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Avalonia.Controls;
3 |
4 | namespace BehaviorsTestApplication.Controls;
5 |
6 | public class SingleSelectionTabControl : TabControl
7 | {
8 | protected override Type StyleKeyOverride => typeof(TabControl);
9 |
10 | static SingleSelectionTabControl()
11 | {
12 | SelectionModeProperty.OverrideDefaultValue(SelectionMode.Single);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/samples/BehaviorsTestApplication/Converters/ClassesToStringConverter.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Globalization;
4 | using Avalonia;
5 | using Avalonia.Controls;
6 | using Avalonia.Data.Converters;
7 |
8 | namespace BehaviorsTestApplication.Converters;
9 |
10 | public class ClassesToStringConverter : IMultiValueConverter
11 | {
12 | public static readonly ClassesToStringConverter Instance = new();
13 |
14 | public object Convert(IList