├── .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? values, Type targetType, object? parameter, CultureInfo culture) 15 | { 16 | if (values?.Count == 2 && values[0] is int && values[1] is Classes classes) 17 | { 18 | return string.Join(" ", classes); 19 | } 20 | 21 | return AvaloniaProperty.UnsetValue; 22 | } 23 | 24 | public IMultiValueConverter ProvideValue(IServiceProvider serviceProvider) => Instance; 25 | } 26 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Models/DragItem.cs: -------------------------------------------------------------------------------- 1 | namespace BehaviorsTestApplication.Models; 2 | 3 | public class DragItem 4 | { 5 | public string? Title { get; set; } 6 | 7 | public double X { get; set; } 8 | 9 | public double Y { get; set; } 10 | 11 | public override string? ToString() => Title; 12 | } 13 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Models/Tile.cs: -------------------------------------------------------------------------------- 1 | namespace BehaviorsTestApplication.Models; 2 | 3 | public class Tile 4 | { 5 | public string? Title { get; set; } 6 | 7 | public int Column { get; set; } 8 | 9 | public int Row { get; set; } 10 | 11 | public int ColumnSpan { get; set; } 12 | 13 | public int RowSpan { get; set; } 14 | 15 | public string? Background { get; set; } 16 | 17 | public override string? ToString() => Title; 18 | } 19 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Avalonia; 3 | using Avalonia.ReactiveUI; 4 | using Avalonia.Xaml.Interactivity; 5 | 6 | namespace BehaviorsTestApplication; 7 | 8 | class Program 9 | { 10 | [STAThread] 11 | private static void Main(string[] args) 12 | { 13 | BuildAvaloniaApp().StartWithClassicDesktopLifetime(args); 14 | } 15 | 16 | public static AppBuilder BuildAvaloniaApp() 17 | { 18 | GC.KeepAlive(typeof(Interaction).Assembly); 19 | GC.KeepAlive(typeof(ComparisonConditionType).Assembly); 20 | return AppBuilder.Configure() 21 | .WithInterFont() 22 | .UsePlatformDetect() 23 | .UseReactiveUI() 24 | .LogToTrace(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Metadata; 2 | 3 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "BehaviorsTestApplication")] 4 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "BehaviorsTestApplication.Controls")] 5 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "BehaviorsTestApplication.Converters")] 6 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "BehaviorsTestApplication.Behaviors")] 7 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Renderers/RotatingSquareRenderer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Avalonia.Media; 3 | using Avalonia; 4 | using Avalonia.Xaml.Interactions.Custom; 5 | 6 | namespace BehaviorsTestApplication.Renderers; 7 | 8 | public class RotatingSquareRenderer : IRenderTargetBitmapRenderer 9 | { 10 | public void Render(DrawingContext context, TimeSpan elapsed) 11 | { 12 | using (context.PushTransform(Matrix.CreateTranslation(-100, -100) 13 | * Matrix.CreateRotation(elapsed.TotalSeconds) 14 | * Matrix.CreateTranslation(100, 100))) 15 | { 16 | context.FillRectangle(Brushes.Fuchsia, new Rect(50, 50, 100, 100)); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Renderers/SolidSquareRenderer.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Media; 2 | using Avalonia; 3 | using Avalonia.Xaml.Interactions.Custom; 4 | 5 | namespace BehaviorsTestApplication.Renderers; 6 | 7 | public class SolidSquareRenderer : IRenderTargetBitmapSimpleRenderer 8 | { 9 | public void Render(DrawingContext context) 10 | { 11 | context.FillRectangle(Brushes.DeepSkyBlue, new Rect(50, 50, 100, 100)); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/ViewModels/CustomAnimatorViewModel.cs: -------------------------------------------------------------------------------- 1 | using BehaviorsTestApplication.Animations; 2 | 3 | namespace BehaviorsTestApplication.ViewModels; 4 | 5 | public class CustomAnimatorViewModel : ViewModelBase 6 | { 7 | /// 8 | /// Gets the builder used by the sample to create the animation. 9 | /// 10 | public CustomStringAnimationBuilder AnimationBuilder { get; } = new(); 11 | } 12 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/ViewModels/DragItemViewModel.cs: -------------------------------------------------------------------------------- 1 | using ReactiveUI; 2 | 3 | namespace BehaviorsTestApplication.ViewModels; 4 | 5 | public class DragItemViewModel : ViewModelBase 6 | { 7 | private string? _title; 8 | 9 | public string? Title 10 | { 11 | get => _title; 12 | set => this.RaiseAndSetIfChanged(ref _title, value); 13 | } 14 | 15 | public override string? ToString() => _title; 16 | } 17 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/ViewModels/ItemViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | 3 | namespace BehaviorsTestApplication.ViewModels; 4 | 5 | public partial class ItemViewModel : ViewModelBase 6 | { 7 | public ItemViewModel(string value, string color = "Black") 8 | { 9 | _value = value; 10 | _color = color; 11 | } 12 | 13 | [Reactive] 14 | public partial string? Value { get; set; } 15 | 16 | [Reactive] 17 | public partial ObservableCollection? Items { get; set; } 18 | 19 | [Reactive] 20 | public partial string? Color { get; set; } 21 | 22 | public override string ToString() => _value ?? string.Empty; 23 | } 24 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/ViewModels/KeyGestureTriggerViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Input; 3 | using ReactiveUI; 4 | 5 | namespace BehaviorsTestApplication.ViewModels; 6 | 7 | public partial class KeyGestureTriggerViewModel : ViewModelBase 8 | { 9 | public KeyGestureTriggerViewModel() 10 | { 11 | TriggerCommand = ReactiveCommand.Create(OnTriggered); 12 | } 13 | 14 | public ICommand TriggerCommand { get; } 15 | 16 | private void OnTriggered() 17 | { 18 | Console.WriteLine("KeyGestureTrigger fired"); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/ViewModels/ReactiveUI/DetailPageViewModel.cs: -------------------------------------------------------------------------------- 1 | using ReactiveUI; 2 | 3 | namespace BehaviorsTestApplication.ViewModels; 4 | 5 | public class DetailPageViewModel(IScreen screen) : ViewModelBase, IRoutableViewModel 6 | { 7 | public string UrlPathSegment => "detail"; 8 | 9 | public IScreen HostScreen { get; } = screen; 10 | } 11 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/ViewModels/ReactiveUI/HomePageViewModel.cs: -------------------------------------------------------------------------------- 1 | using ReactiveUI; 2 | 3 | namespace BehaviorsTestApplication.ViewModels; 4 | 5 | public class HomePageViewModel(IScreen screen) : ViewModelBase, IRoutableViewModel 6 | { 7 | public string UrlPathSegment => "home"; 8 | 9 | public IScreen HostScreen { get; } = screen; 10 | } 11 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/ViewModels/ReactiveUI/InteractionTriggerBehaviorViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reactive; 3 | using ReactiveUI; 4 | 5 | namespace BehaviorsTestApplication.ViewModels; 6 | 7 | public class InteractionTriggerBehaviorViewModel : ViewModelBase 8 | { 9 | public InteractionTriggerBehaviorViewModel() 10 | { 11 | TriggerCommand = ReactiveCommand.Create(Trigger); 12 | } 13 | 14 | public Interaction TestInteraction { get; } = new(); 15 | 16 | public ReactiveCommand TriggerCommand { get; } 17 | 18 | private void Trigger() 19 | { 20 | TestInteraction.Handle(Unit.Default).Subscribe(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/ViewModels/SampleViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Input; 3 | using ReactiveUI; 4 | 5 | namespace BehaviorsTestApplication.ViewModels; 6 | 7 | public partial class SampleViewModel : ViewModelBase 8 | { 9 | public SampleViewModel() 10 | { 11 | LoadedCommand = ReactiveCommand.Create(Loaded); 12 | UnloadedCommand = ReactiveCommand.Create(Unloaded); 13 | } 14 | 15 | public ICommand LoadedCommand { get; } 16 | 17 | public ICommand UnloadedCommand { get; } 18 | 19 | 20 | private void Loaded() 21 | { 22 | Console.WriteLine("Loaded"); 23 | } 24 | 25 | private void Unloaded() 26 | { 27 | Console.WriteLine("Unloaded"); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/ViewModels/ViewModelBase.cs: -------------------------------------------------------------------------------- 1 | using ReactiveUI; 2 | 3 | namespace BehaviorsTestApplication.ViewModels; 4 | 5 | public abstract class ViewModelBase : ReactiveObject 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/MainView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace BehaviorsTestApplication.Views; 4 | 5 | public partial class MainView : UserControl 6 | { 7 | public MainView() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/MainWindow.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace BehaviorsTestApplication.Views; 4 | 5 | public partial class MainWindow : Window 6 | { 7 | public MainWindow() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ActionCollectionTemplateView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ActionCollectionTemplateView : UserControl 7 | { 8 | public ActionCollectionTemplateView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ActualThemeVariantChangedTriggerView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ActualThemeVariantChangedTriggerView : UserControl 7 | { 8 | public ActualThemeVariantChangedTriggerView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/AdaptiveBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class AdaptiveBehaviorView : UserControl 7 | { 8 | public AdaptiveBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/AddItemToItemsControlActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class AddItemToItemsControlActionView : UserControl 7 | { 8 | public AddItemToItemsControlActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/AddRemoveClassActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class AddRemoveClassActionView : UserControl 7 | { 8 | public AddRemoveClassActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/AdvancedView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class AdvancedView : UserControl 7 | { 8 | public AdvancedView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/AnimateOnAttachedBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class AnimateOnAttachedBehaviorView : UserControl 7 | { 8 | public AnimateOnAttachedBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/AnimationBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class AnimationBehaviorView : UserControl 7 | { 8 | public AnimationBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/AnimationCompletedTriggerView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class AnimationCompletedTriggerView : UserControl 7 | { 8 | public AnimationCompletedTriggerView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/AspectRatioBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class AspectRatioBehaviorView : UserControl 7 | { 8 | public AspectRatioBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/AutoFocusBehaviorView.axaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/AutoFocusBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class AutoFocusBehaviorView : UserControl 7 | { 8 | public AutoFocusBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/AutoSelectBehaviorView.axaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/AutoSelectBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class AutoSelectBehaviorView : UserControl 7 | { 8 | public AutoSelectBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/BehaviorCollectionTemplateView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class BehaviorCollectionTemplateView : UserControl 7 | { 8 | public BehaviorCollectionTemplateView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/BindPointerOverBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class BindPointerOverBehaviorView : UserControl 7 | { 8 | public BindPointerOverBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/BindTagToVisualRootDataContextBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class BindTagToVisualRootDataContextBehaviorView : UserControl 7 | { 8 | public BindTagToVisualRootDataContextBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/BindingTriggerBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class BindingTriggerBehaviorView : UserControl 7 | { 8 | public BindingTriggerBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/BoundsObserverBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class BoundsObserverBehaviorView : UserControl 7 | { 8 | public BoundsObserverBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ButtonClickEventTriggerBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ButtonClickEventTriggerBehaviorView : UserControl 7 | { 8 | public ButtonClickEventTriggerBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/CallMethodActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class CallMethodActionView : UserControl 7 | { 8 | public CallMethodActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/CarouselNavigationView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class CarouselNavigationView : UserControl 7 | { 8 | public CarouselNavigationView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ChangeAvaloniaPropertyActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ChangeAvaloniaPropertyActionView : UserControl 7 | { 8 | public ChangeAvaloniaPropertyActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ChangePropertyActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ChangePropertyActionView : UserControl 7 | { 8 | public ChangePropertyActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ClearItemsControlActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ClearItemsControlActionView : UserControl 7 | { 8 | public ClearItemsControlActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ClipboardView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ClipboardView : UserControl 7 | { 8 | public ClipboardView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ComboBoxValidationBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ComboBoxValidationBehaviorView : UserControl 7 | { 8 | public ComboBoxValidationBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ContentControlFilesDropBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ContentControlFilesDropBehaviorView : UserControl 7 | { 8 | public ContentControlFilesDropBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/CursorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class CursorView : UserControl 8 | { 9 | public CursorView() 10 | { 11 | InitializeComponent(); 12 | DataContext = new CursorViewModel(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/CustomActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class CustomActionView : UserControl 7 | { 8 | public CustomActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/CustomBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class CustomBehaviorView : UserControl 7 | { 8 | public CustomBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/DataTriggerBehaviorAdvancedView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class DataTriggerBehaviorAdvancedView : UserControl 7 | { 8 | public DataTriggerBehaviorAdvancedView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/DataTriggerBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class DataTriggerBehaviorView : UserControl 7 | { 8 | public DataTriggerBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/DatePickerValidationBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class DatePickerValidationBehaviorView : UserControl 7 | { 8 | public DatePickerValidationBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/DragAndDropView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class DragAndDropView : UserControl 8 | { 9 | public DragAndDropView() 10 | { 11 | InitializeComponent(); 12 | 13 | DataContext = new DragAndDropSampleViewModel(); 14 | } 15 | 16 | private void InitializeComponent() 17 | { 18 | AvaloniaXamlLoader.Load(this); 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/DraggableView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class DraggableView : UserControl 8 | { 9 | public DraggableView() 10 | { 11 | InitializeComponent(); 12 | 13 | DataContext = new DraggableViewModel(); 14 | } 15 | 16 | private void InitializeComponent() 17 | { 18 | AvaloniaXamlLoader.Load(this); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/DrawnCursorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class DrawnCursorView : UserControl 8 | { 9 | public DrawnCursorView() 10 | { 11 | InitializeComponent(); 12 | DataContext = new DrawnCursorViewModel(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/EditableDoubleTappedListBoxView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class EditableDoubleTappedListBoxView : UserControl 7 | { 8 | public EditableDoubleTappedListBoxView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/EditableDoubleTappedTreeViewView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class EditableDoubleTappedTreeViewView : UserControl 7 | { 8 | public EditableDoubleTappedTreeViewView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/EditableDragTreeViewView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class EditableDragTreeViewView : UserControl 8 | { 9 | public EditableDragTreeViewView() 10 | { 11 | InitializeComponent(); 12 | DataContext = new DragAndDropSampleViewModel(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/EditableDraggableListBoxView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class EditableDraggableListBoxView : UserControl 8 | { 9 | public EditableDraggableListBoxView() 10 | { 11 | InitializeComponent(); 12 | DataContext = new DragAndDropSampleViewModel(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/EditableListBoxView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class EditableListBoxView : UserControl 7 | { 8 | public EditableListBoxView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/EditableTreeViewView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class EditableTreeViewView : UserControl 7 | { 8 | public EditableTreeViewView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/EventTriggerBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Input; 3 | using Avalonia.Markup.Xaml; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class EventTriggerBehaviorView : UserControl 8 | { 9 | public EventTriggerBehaviorView() 10 | { 11 | InitializeComponent(); 12 | } 13 | 14 | private void InitializeComponent() 15 | { 16 | AvaloniaXamlLoader.Load(this); 17 | } 18 | 19 | protected override void OnPointerPressed(PointerPressedEventArgs e) 20 | { 21 | base.OnPointerPressed(e); 22 | 23 | if (this.FindControl("ContentControl") is { } contentControl) 24 | { 25 | contentControl.Content = null; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/EventsBehaviorsView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class EventsBehaviorsView : UserControl 7 | { 8 | public EventsBehaviorsView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ExecuteCommandBehaviorsView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class ExecuteCommandBehaviorsView : UserControl 8 | { 9 | public ExecuteCommandBehaviorsView() 10 | { 11 | InitializeComponent(); 12 | DataContext = new ExecuteCommandBehaviorsViewModel(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ExecuteScriptActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ExecuteScriptActionView : UserControl 7 | { 8 | public ExecuteScriptActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/FadeInBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class FadeInBehaviorView : UserControl 7 | { 8 | public FadeInBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/FileDropHandlerView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class FileDropHandlerView : UserControl 7 | { 8 | public FileDropHandlerView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/FluidMoveBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class FluidMoveBehaviorView : UserControl 8 | { 9 | public FluidMoveBehaviorView() 10 | { 11 | InitializeComponent(); 12 | DataContext = new FluidMoveBehaviorViewModel(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/FlyoutBindingView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class FlyoutBindingView : UserControl 7 | { 8 | public FlyoutBindingView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/FocusControlActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class FocusControlActionView : UserControl 7 | { 8 | public FocusControlActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/FocusControlBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class FocusControlBehaviorView : UserControl 7 | { 8 | public FocusControlBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/FocusEventTriggersView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class FocusEventTriggersView : UserControl 7 | { 8 | public FocusEventTriggersView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/FocusOnAttachedBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class FocusOnAttachedBehaviorView : UserControl 7 | { 8 | public FocusOnAttachedBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/FocusOnAttachedToVisualTreeBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class FocusOnAttachedToVisualTreeBehaviorView : UserControl 7 | { 8 | public FocusOnAttachedToVisualTreeBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/FocusOnPointerMovedBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class FocusOnPointerMovedBehaviorView : UserControl 7 | { 8 | public FocusOnPointerMovedBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/FocusOnPointerPressedBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class FocusOnPointerPressedBehaviorView : UserControl 7 | { 8 | public FocusOnPointerPressedBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/FocusSelectedItemBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class FocusSelectedItemBehaviorView : UserControl 7 | { 8 | public FocusSelectedItemBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/GestureEventTriggersView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class GestureEventTriggersView : UserControl 7 | { 8 | public GestureEventTriggersView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/GetClipboardDataActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class GetClipboardDataActionView : UserControl 7 | { 8 | public GetClipboardDataActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/GetClipboardFormatsActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class GetClipboardFormatsActionView : UserControl 7 | { 8 | public GetClipboardFormatsActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/HideAttachedFlyoutBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class HideAttachedFlyoutBehaviorView : UserControl 7 | { 8 | public HideAttachedFlyoutBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/HideOnKeyPressedBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class HideOnKeyPressedBehaviorView : UserControl 7 | { 8 | public HideOnKeyPressedBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/HideOnLostFocusBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class HideOnLostFocusBehaviorView : UserControl 7 | { 8 | public HideOnLostFocusBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/HideShowControlActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class HideShowControlActionView : UserControl 7 | { 8 | public HideShowControlActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/IfElseTriggerView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class IfElseTriggerView : UserControl 7 | { 8 | public IfElseTriggerView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/InsertItemToItemsControlActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class InsertItemToItemsControlActionView : UserControl 7 | { 8 | public InsertItemToItemsControlActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/InvokeCommandActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class InvokeCommandActionView : UserControl 7 | { 8 | public InvokeCommandActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/KeyEventTriggersView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class KeyEventTriggersView : UserControl 7 | { 8 | public KeyEventTriggersView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/KeyGestureTriggerView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class KeyGestureTriggerView : UserControl 8 | { 9 | public KeyGestureTriggerView() 10 | { 11 | InitializeComponent(); 12 | DataContext = new KeyGestureTriggerViewModel(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/KeyTriggerView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class KeyTriggerView : UserControl 7 | { 8 | public KeyTriggerView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/LaunchUriOrFileActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class LaunchUriOrFileActionView : UserControl 7 | { 8 | public LaunchUriOrFileActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/NotNullValidationRuleView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class NotNullValidationRuleView : UserControl 7 | { 8 | public NotNullValidationRuleView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/NotificationsView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class NotificationsView : UserControl 7 | { 8 | public NotificationsView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/NumericUpDownValidationBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class NumericUpDownValidationBehaviorView : UserControl 7 | { 8 | public NumericUpDownValidationBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ObjectTemplateView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ObjectTemplateView : UserControl 7 | { 8 | public ObjectTemplateView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/OneTimeBinding.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class OneTimeBinding : UserControl 7 | { 8 | public OneTimeBinding() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/PointerEventTriggersView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class PointerEventTriggersView : UserControl 7 | { 8 | public PointerEventTriggersView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/PointerTriggersView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class PointerTriggersView : UserControl 8 | { 9 | public PointerTriggersView() 10 | { 11 | InitializeComponent(); 12 | DataContext = new PointerTriggersViewModel(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/PropertyChangedTriggerView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class PropertyChangedTriggerView : UserControl 7 | { 8 | public PropertyChangedTriggerView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/RemoveElementActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class RemoveElementActionView : UserControl 7 | { 8 | public RemoveElementActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/RemoveItemInItemsControlActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class RemoveItemInItemsControlActionView : UserControl 7 | { 8 | public RemoveItemInItemsControlActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/RemoveItemInListBoxActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class RemoveItemInListBoxActionView : UserControl 7 | { 8 | public RemoveItemInListBoxActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/RemoveItemsSampleView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class RemoveItemsSampleView : UserControl 7 | { 8 | public RemoveItemsSampleView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/RenderTargetBitmapView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class RenderTargetBitmapView : UserControl 7 | { 8 | public RenderTargetBitmapView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/RoutedEventTriggerBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class RoutedEventTriggerBehaviorView : UserControl 7 | { 8 | public RoutedEventTriggerBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/RunAnimationTriggerView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class RunAnimationTriggerView : UserControl 8 | { 9 | public RunAnimationTriggerView() 10 | { 11 | InitializeComponent(); 12 | DataContext = new CustomAnimatorViewModel(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ScreenView.axaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ScreenView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ScreenView : UserControl 7 | { 8 | public ScreenView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/SetClipboardDataObjectActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class SetClipboardDataObjectActionView : UserControl 7 | { 8 | public SetClipboardDataObjectActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/SetEnabledActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class SetEnabledActionView : UserControl 7 | { 8 | public SetEnabledActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ShowContextMenuActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ShowContextMenuActionView : UserControl 7 | { 8 | public ShowContextMenuActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ShowHideFlyoutActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ShowHideFlyoutActionView : UserControl 7 | { 8 | public ShowHideFlyoutActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ShowNotificationActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ShowNotificationActionView : UserControl 7 | { 8 | public ShowNotificationActionView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/SizeChangedTriggerView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class SizeChangedTriggerView : UserControl 7 | { 8 | public SizeChangedTriggerView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/SliderValidationBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class SliderValidationBehaviorView : UserControl 7 | { 8 | public SliderValidationBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/SlidingAnimationView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace BehaviorsTestApplication.Views.Pages; 4 | 5 | public partial class SlidingAnimationView : UserControl 6 | { 7 | public SlidingAnimationView() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/SplitViewStateBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class SplitViewStateBehaviorView : UserControl 7 | { 8 | public SplitViewStateBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/StartBuiltAnimationActionView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class StartBuiltAnimationActionView : UserControl 8 | { 9 | public StartBuiltAnimationActionView() 10 | { 11 | InitializeComponent(); 12 | DataContext = new CustomAnimatorViewModel(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/StorageProviderView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class StorageProviderView : UserControl 7 | { 8 | public StorageProviderView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/TemplateBindingView.axaml: -------------------------------------------------------------------------------- 1 |  10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/TemplateBindingView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class TemplateBindingView : UserControl 7 | { 8 | public TemplateBindingView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/TextBoxValidationBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class TextBoxValidationBehaviorView : UserControl 7 | { 8 | public TextBoxValidationBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ThemeVariantTriggerView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ThemeVariantTriggerView : UserControl 7 | { 8 | public ThemeVariantTriggerView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ThemeVariantView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using Avalonia.Styling; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class ThemeVariantView : UserControl 8 | { 9 | public static ThemeVariant Pink { get; } = new("Pink", ThemeVariant.Light); 10 | 11 | public ThemeVariantView() 12 | { 13 | InitializeComponent(); 14 | } 15 | 16 | private void InitializeComponent() 17 | { 18 | AvaloniaXamlLoader.Load(this); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/TimerTriggerView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class TimerTriggerView : UserControl 7 | { 8 | public TimerTriggerView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ToggleIsExpandedOnDoubleTappedBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ToggleIsExpandedOnDoubleTappedBehaviorView : UserControl 7 | { 8 | public ToggleIsExpandedOnDoubleTappedBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ToolTipHelpersView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ToolTipHelpersView : UserControl 7 | { 8 | public ToolTipHelpersView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/TransitionsActionsView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class TransitionsActionsView : UserControl 7 | { 8 | public TransitionsActionsView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/TransitionsBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class TransitionsBehaviorView : UserControl 7 | { 8 | public TransitionsBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/TransitionsChangedTriggerView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class TransitionsChangedTriggerView : UserControl 7 | { 8 | public TransitionsChangedTriggerView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/TypedDragBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class TypedDragBehaviorView : UserControl 8 | { 9 | public TypedDragBehaviorView() 10 | { 11 | InitializeComponent(); 12 | DataContext = new DragAndDropSampleViewModel(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ValueChangedTriggerBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ValueChangedTriggerBehaviorView : UserControl 7 | { 8 | public ValueChangedTriggerBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/ViewportBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ViewportBehaviorView : UserControl 7 | { 8 | public ViewportBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/Pages/WriteableBitmapView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class WriteableBitmapView : UserControl 7 | { 8 | public WriteableBitmapView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | 18 | private void OnRenderOnce(object? sender, Avalonia.Interactivity.RoutedEventArgs e) 19 | { 20 | // TODO: 21 | // var behavior = this.FindControl("StaticBehavior"); 22 | // behavior?.Render(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/ReactiveUI/DetailPageView.axaml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/ReactiveUI/DetailPageView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using Avalonia.ReactiveUI; 4 | using BehaviorsTestApplication.ViewModels; 5 | 6 | namespace BehaviorsTestApplication.Views.Pages; 7 | 8 | public partial class DetailPageView : ReactiveUserControl 9 | { 10 | public DetailPageView() 11 | { 12 | InitializeComponent(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/ReactiveUI/HomePageView.axaml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/ReactiveUI/HomePageView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | using Avalonia.ReactiveUI; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class HomePageView : ReactiveUserControl 8 | { 9 | public HomePageView() 10 | { 11 | InitializeComponent(); 12 | } 13 | 14 | private void InitializeComponent() 15 | { 16 | AvaloniaXamlLoader.Load(this); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/ReactiveUI/InteractionTriggerBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views.Pages; 6 | 7 | public partial class InteractionTriggerBehaviorView : UserControl 8 | { 9 | public InteractionTriggerBehaviorView() 10 | { 11 | InitializeComponent(); 12 | DataContext = new InteractionTriggerBehaviorViewModel(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/ReactiveUI/ObservableTriggerBehaviorView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | 4 | namespace BehaviorsTestApplication.Views.Pages; 5 | 6 | public partial class ObservableTriggerBehaviorView : UserControl 7 | { 8 | public ObservableTriggerBehaviorView() 9 | { 10 | InitializeComponent(); 11 | } 12 | 13 | private void InitializeComponent() 14 | { 15 | AvaloniaXamlLoader.Load(this); 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/ReactiveUI/ReactiveNavigationView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using Avalonia.ReactiveUI; 4 | using BehaviorsTestApplication.ViewModels; 5 | 6 | namespace BehaviorsTestApplication.Views.Pages; 7 | 8 | public partial class ReactiveNavigationView : ReactiveUserControl 9 | { 10 | public ReactiveNavigationView() 11 | { 12 | InitializeComponent(); 13 | DataContext = new ReactiveNavigationViewModel(); 14 | } 15 | 16 | private void InitializeComponent() 17 | { 18 | AvaloniaXamlLoader.Load(this); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /samples/BehaviorsTestApplication/Views/SampleView.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using BehaviorsTestApplication.ViewModels; 4 | 5 | namespace BehaviorsTestApplication.Views; 6 | 7 | public partial class SampleView : UserControl 8 | { 9 | public SampleView() 10 | { 11 | InitializeComponent(); 12 | DataContext = new SampleViewModel(); 13 | } 14 | 15 | private void InitializeComponent() 16 | { 17 | AvaloniaXamlLoader.Load(this); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Animations/IAnimationBuilder.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Animation; 4 | using Avalonia.Controls; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// Provides a way to build instances in code. 10 | /// 11 | public interface IAnimationBuilder 12 | { 13 | /// 14 | /// Creates an animation for the specified control. 15 | /// 16 | /// The control that will run the animation. 17 | /// The created animation or null. 18 | Animation.Animation? Build(Control control); 19 | } 20 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Core/AttachedToLogicalTreeTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Xaml.Interactivity; 4 | 5 | namespace Avalonia.Xaml.Interactions.Custom; 6 | 7 | /// 8 | /// 9 | /// 10 | public class AttachedToLogicalTreeTrigger : StyledElementTrigger 11 | { 12 | /// 13 | protected override void OnAttachedToLogicalTree() 14 | { 15 | Execute(parameter: null); 16 | } 17 | 18 | private void Execute(object? parameter) 19 | { 20 | if (!IsEnabled) 21 | { 22 | return; 23 | } 24 | 25 | Interaction.ExecuteActions(AssociatedObject, Actions, parameter); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Core/AttachedToVisualTreeTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Xaml.Interactivity; 4 | 5 | namespace Avalonia.Xaml.Interactions.Custom; 6 | 7 | /// 8 | /// A trigger that executes when the associated object is attached to the visual tree. 9 | /// 10 | public class AttachedToVisualTreeTrigger : StyledElementTrigger 11 | { 12 | /// 13 | protected override void OnAttachedToVisualTree() 14 | { 15 | Execute(parameter: null); 16 | } 17 | 18 | private void Execute(object? parameter) 19 | { 20 | if (!IsEnabled) 21 | { 22 | return; 23 | } 24 | 25 | Interaction.ExecuteActions(AssociatedObject, Actions, parameter); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Core/DetachedFromLogicalTreeTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Xaml.Interactivity; 4 | 5 | namespace Avalonia.Xaml.Interactions.Custom; 6 | 7 | /// 8 | /// 9 | /// 10 | public class DetachedFromLogicalTreeTrigger : StyledElementTrigger 11 | { 12 | /// 13 | protected override void OnDetachedFromLogicalTree() 14 | { 15 | Execute(parameter: null); 16 | } 17 | 18 | private void Execute(object? parameter) 19 | { 20 | if (!IsEnabled) 21 | { 22 | return; 23 | } 24 | 25 | Interaction.ExecuteActions(AssociatedObject, Actions, parameter); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Core/DetachedFromVisualTreeTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Xaml.Interactivity; 4 | 5 | namespace Avalonia.Xaml.Interactions.Custom; 6 | 7 | /// 8 | /// 9 | /// 10 | public class DetachedFromVisualTreeTrigger : StyledElementTrigger 11 | { 12 | /// 13 | protected override void OnDetachedFromVisualTree() 14 | { 15 | Execute(parameter: null); 16 | } 17 | 18 | private void Execute(object? parameter) 19 | { 20 | if (!IsEnabled) 21 | { 22 | return; 23 | } 24 | 25 | Interaction.ExecuteActions(AssociatedObject, Actions, parameter); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Core/InitializedTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Xaml.Interactivity; 4 | 5 | namespace Avalonia.Xaml.Interactions.Custom; 6 | 7 | /// 8 | /// 9 | /// 10 | public class InitializedTrigger : StyledElementTrigger 11 | { 12 | /// 13 | protected override void OnInitializedEvent() 14 | { 15 | Execute(parameter: null); 16 | } 17 | 18 | private void Execute(object? parameter) 19 | { 20 | if (!IsEnabled) 21 | { 22 | return; 23 | } 24 | 25 | Interaction.ExecuteActions(AssociatedObject, Actions, parameter); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Core/LoadedTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Controls; 4 | using Avalonia.Xaml.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class LoadedTrigger : StyledElementTrigger 12 | { 13 | /// 14 | protected override void OnLoaded() 15 | { 16 | Execute(parameter: null); 17 | } 18 | 19 | private void Execute(object? parameter) 20 | { 21 | if (!IsEnabled) 22 | { 23 | return; 24 | } 25 | 26 | Interaction.ExecuteActions(AssociatedObject, Actions, parameter); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Core/UnloadedTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Controls; 4 | using Avalonia.Xaml.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class UnloadedTrigger : StyledElementTrigger 12 | { 13 | /// 14 | protected override void OnUnloaded() 15 | { 16 | Execute(parameter: null); 17 | } 18 | 19 | private void Execute(object? parameter) 20 | { 21 | if (!IsEnabled) 22 | { 23 | return; 24 | } 25 | 26 | Interaction.ExecuteActions(AssociatedObject, Actions, parameter); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Cursor/ICursorProvider.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | 5 | namespace Avalonia.Xaml.Interactions.Custom; 6 | 7 | /// 8 | /// Provides a custom cursor instance. 9 | /// 10 | public interface ICursorProvider 11 | { 12 | /// 13 | /// Creates a cursor instance. 14 | /// 15 | /// The created . 16 | Cursor CreateCursor(); 17 | } 18 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Focus/AutoFocusBehavior.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Controls; 4 | using Avalonia.Threading; 5 | using Avalonia.Xaml.Interactivity; 6 | 7 | namespace Avalonia.Xaml.Interactions.Custom; 8 | 9 | /// 10 | /// This behavior automatically sets the focus on the associated when it is loaded. 11 | /// 12 | public class AutoFocusBehavior : StyledElementBehavior 13 | { 14 | /// 15 | protected override void OnLoaded() 16 | { 17 | base.OnLoaded(); 18 | 19 | Dispatcher.UIThread.Post(() => AssociatedObject?.Focus()); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Focus/FocusOnAttachedBehavior.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | 4 | using Avalonia.Xaml.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// Focuses the associated control when it is attached to the visual tree. 10 | /// 11 | public class FocusOnAttachedBehavior : FocusBehaviorBase 12 | { 13 | /// 14 | /// Called when the behavior is attached. 15 | /// 16 | /// A disposable used to clean up the operation. 17 | protected override System.IDisposable OnAttachedToVisualTreeOverride() 18 | { 19 | Focus(); 20 | 21 | return DisposableAction.Empty; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Focus/FocusOnAttachedToVisualTreeBehavior.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Controls; 4 | using Avalonia.Threading; 5 | using Avalonia.Xaml.Interactivity; 6 | 7 | namespace Avalonia.Xaml.Interactions.Custom; 8 | 9 | /// 10 | /// Focuses the when attached to visual tree. 11 | /// 12 | public class FocusOnAttachedToVisualTreeBehavior : StyledElementBehavior 13 | { 14 | /// 15 | protected override void OnAttachedToVisualTree() 16 | { 17 | Dispatcher.UIThread.Post(() => AssociatedObject?.Focus()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Gestures/DoubleTappedGestureTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class DoubleTappedGestureTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => Gestures.DoubleTappedEvent; 16 | 17 | static DoubleTappedGestureTrigger() 18 | { 19 | EventRoutingStrategyProperty.OverrideMetadata( 20 | new StyledPropertyMetadata( 21 | defaultValue: RoutingStrategies.Bubble)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Gestures/HoldingGestureTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class HoldingGestureTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => Gestures.HoldingEvent; 16 | 17 | static HoldingGestureTrigger() 18 | { 19 | EventRoutingStrategyProperty.OverrideMetadata( 20 | new StyledPropertyMetadata( 21 | defaultValue: RoutingStrategies.Bubble)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Gestures/PinchEndedGestureTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class PinchEndedGestureTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => Gestures.PinchEndedEvent; 16 | 17 | static PinchEndedGestureTrigger() 18 | { 19 | EventRoutingStrategyProperty.OverrideMetadata( 20 | new StyledPropertyMetadata( 21 | defaultValue: RoutingStrategies.Bubble)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Gestures/PinchGestureTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class PinchGestureTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => Gestures.PinchEvent; 16 | 17 | static PinchGestureTrigger() 18 | { 19 | EventRoutingStrategyProperty.OverrideMetadata( 20 | new StyledPropertyMetadata( 21 | defaultValue: RoutingStrategies.Bubble)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Gestures/PullGestureGestureTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class PullGestureGestureTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => Gestures.PullGestureEvent; 16 | 17 | static PullGestureGestureTrigger() 18 | { 19 | EventRoutingStrategyProperty.OverrideMetadata( 20 | new StyledPropertyMetadata( 21 | defaultValue: RoutingStrategies.Bubble)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Gestures/RightTappedGestureTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class RightTappedGestureTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => Gestures.RightTappedEvent; 16 | 17 | static RightTappedGestureTrigger() 18 | { 19 | EventRoutingStrategyProperty.OverrideMetadata( 20 | new StyledPropertyMetadata( 21 | defaultValue: RoutingStrategies.Bubble)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Gestures/TappedGestureTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class TappedGestureTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => Gestures.TappedEvent; 16 | 17 | static TappedGestureTrigger() 18 | { 19 | EventRoutingStrategyProperty.OverrideMetadata( 20 | new StyledPropertyMetadata( 21 | defaultValue: RoutingStrategies.Bubble)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/InputElement/Triggers/DoubleTappedTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class DoubleTappedTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => InputElement.DoubleTappedEvent; 16 | 17 | static DoubleTappedTrigger() 18 | { 19 | EventRoutingStrategyProperty.OverrideMetadata( 20 | new StyledPropertyMetadata( 21 | defaultValue: RoutingStrategies.Bubble)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/InputElement/Triggers/GotFocusTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class GotFocusTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => InputElement.GotFocusEvent; 16 | 17 | static GotFocusTrigger() 18 | { 19 | EventRoutingStrategyProperty.OverrideMetadata( 20 | new StyledPropertyMetadata( 21 | defaultValue: RoutingStrategies.Bubble)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/InputElement/Triggers/HoldingTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class HoldingTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => InputElement.HoldingEvent; 16 | 17 | static HoldingTrigger() 18 | { 19 | EventRoutingStrategyProperty.OverrideMetadata( 20 | new StyledPropertyMetadata( 21 | defaultValue: RoutingStrategies.Bubble)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/InputElement/Triggers/LostFocusTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class LostFocusTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => InputElement.LostFocusEvent; 16 | 17 | static LostFocusTrigger() 18 | { 19 | EventRoutingStrategyProperty.OverrideMetadata( 20 | new StyledPropertyMetadata( 21 | defaultValue: RoutingStrategies.Bubble)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/InputElement/Triggers/PointerCaptureLostTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class PointerCaptureLostTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => InputElement.PointerCaptureLostEvent; 16 | } 17 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/InputElement/Triggers/PointerEnteredTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class PointerEnteredTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => InputElement.PointerEnteredEvent; 16 | } 17 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/InputElement/Triggers/PointerExitedTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class PointerExitedTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => InputElement.PointerExitedEvent; 16 | } 17 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/InputElement/Triggers/TappedTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Input; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class TappedTrigger : RoutedEventTriggerBase 12 | { 13 | /// 14 | protected override RoutedEvent RoutedEvent 15 | => InputElement.TappedEvent; 16 | 17 | static TappedTrigger() 18 | { 19 | EventRoutingStrategyProperty.OverrideMetadata( 20 | new StyledPropertyMetadata( 21 | defaultValue: RoutingStrategies.Bubble)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/ListBox/ListBoxSelectAllBehavior.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | 4 | using Avalonia.Xaml.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class ListBoxSelectAllBehavior : AttachedToVisualTreeBehavior 12 | { 13 | /// 14 | /// 15 | /// 16 | /// 17 | protected override System.IDisposable OnAttachedToVisualTreeOverride() 18 | { 19 | AssociatedObject?.SelectAll(); 20 | 21 | return DisposableAction.Empty; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/ListBox/ListBoxUnselectAllBehavior.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Controls; 4 | using Avalonia.Xaml.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// 10 | /// 11 | public class ListBoxUnselectAllBehavior : AttachedToVisualTreeBehavior 12 | { 13 | /// 14 | /// 15 | /// 16 | /// 17 | protected override System.IDisposable OnAttachedToVisualTreeOverride() 18 | { 19 | AssociatedObject?.UnselectAll(); 20 | 21 | return DisposableAction.Empty; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using Avalonia.Metadata; 3 | 4 | [assembly: InternalsVisibleTo("Xaml.Behaviors.Interactions.UnitTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001002940ed211918fcf63c506fad1d3f7f958b21ff8f06fd2089398296173f9ca93a69b9b380a828bf13fa80d1745beeb917ec3692f4d10e44b4c941619fc7bbd5052b26880697e6fa3f0ce322c4fa902d20b67a48b4144371218f6d39ad39145ea1fe5484052dd51a2ee62af3acd0759bcf92aaefec03978ded3cfaa84798e92de8")] 5 | 6 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Xaml.Interactions.Custom")] 7 | 8 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Xaml.Interactions.Custom.Converters")] 9 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/RenderTarget/IRenderTargetBitmapRenderHost.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Media.Imaging; 4 | 5 | namespace Avalonia.Xaml.Interactions.Custom; 6 | 7 | /// 8 | /// Defines a render host that can update an underlying . 9 | /// 10 | public interface IRenderTargetBitmapRenderHost 11 | { 12 | /// 13 | /// Requests that the render host renders its content to the bitmap. 14 | /// 15 | void Render(); 16 | } 17 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/RenderTarget/IRenderTargetBitmapRenderer.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using System; 4 | using Avalonia.Media; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// Provides a method used by to draw onto a render target. 10 | /// 11 | public interface IRenderTargetBitmapRenderer 12 | { 13 | /// 14 | /// Draws into the provided . 15 | /// 16 | /// The drawing context to use. 17 | /// The elapsed time since the behavior was attached. 18 | void Render(DrawingContext context, TimeSpan elapsed); 19 | } 20 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/RenderTarget/IRenderTargetBitmapSimpleRenderer.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Media; 4 | 5 | namespace Avalonia.Xaml.Interactions.Custom; 6 | 7 | /// 8 | /// Provides a method used by to draw onto a render target. 9 | /// 10 | public interface IRenderTargetBitmapSimpleRenderer 11 | { 12 | /// 13 | /// Draws into the provided . 14 | /// 15 | /// The drawing context to use. 16 | void Render(DrawingContext context); 17 | } 18 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/TextBox/AutoSelectBehavior.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Controls; 4 | using Avalonia.Threading; 5 | using Avalonia.Xaml.Interactivity; 6 | 7 | namespace Avalonia.Xaml.Interactions.Custom; 8 | 9 | /// 10 | /// Automatically selects the entire content of the associated when it is loaded. 11 | /// 12 | public sealed class AutoSelectBehavior : StyledElementBehavior 13 | { 14 | /// 15 | protected override void OnLoaded() 16 | { 17 | base.OnLoaded(); 18 | 19 | Dispatcher.UIThread.Post(() => AssociatedObject?.SelectAll()); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/TextBox/TextBoxSelectAllTextBehavior.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using System; 4 | using Avalonia.Controls; 5 | using Avalonia.Xaml.Interactivity; 6 | 7 | namespace Avalonia.Xaml.Interactions.Custom; 8 | 9 | /// 10 | /// 11 | /// 12 | public class TextBoxSelectAllTextBehavior : AttachedToVisualTreeBehavior 13 | { 14 | /// 15 | /// 16 | /// 17 | protected override System.IDisposable OnAttachedToVisualTreeOverride() 18 | { 19 | AssociatedObject?.SelectAll(); 20 | 21 | return DisposableAction.Empty; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Validation/ComboBoxValidationBehavior.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Controls; 4 | using Avalonia.Controls.Primitives; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// Validation behavior for selected item. 10 | /// 11 | public class ComboBoxValidationBehavior : PropertyValidationBehavior 12 | { 13 | /// 14 | /// Initializes a new instance of the class. 15 | /// 16 | public ComboBoxValidationBehavior() 17 | { 18 | Property = SelectingItemsControl.SelectedItemProperty; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Validation/DatePickerValidationBehavior.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using System; 4 | using Avalonia.Controls; 5 | 6 | namespace Avalonia.Xaml.Interactions.Custom; 7 | 8 | /// 9 | /// Validation behavior for selected date. 10 | /// 11 | public class DatePickerValidationBehavior : PropertyValidationBehavior 12 | { 13 | /// 14 | /// Initializes a new instance of the class. 15 | /// 16 | public DatePickerValidationBehavior() 17 | { 18 | Property = DatePicker.SelectedDateProperty; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Validation/NumericUpDownValidationBehavior.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Controls; 4 | 5 | namespace Avalonia.Xaml.Interactions.Custom; 6 | 7 | /// 8 | /// Validation behavior for value. 9 | /// 10 | public class NumericUpDownValidationBehavior : PropertyValidationBehavior 11 | { 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | public NumericUpDownValidationBehavior() 16 | { 17 | Property = NumericUpDown.ValueProperty; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Validation/Rules/IValidationRule.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | namespace Avalonia.Xaml.Interactions.Custom; 4 | 5 | /// 6 | /// Defines a validation rule. 7 | /// 8 | /// Type of value to validate. 9 | public interface IValidationRule 10 | { 11 | /// 12 | /// Gets or sets the error message for failed validation. 13 | /// 14 | string? ErrorMessage { get; set; } 15 | 16 | /// 17 | /// Validates the specified value. 18 | /// 19 | /// Value to validate. 20 | /// true if value is valid. 21 | bool Validate(T? value); 22 | } 23 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Validation/Rules/NotNullValidationRule.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | namespace Avalonia.Xaml.Interactions.Custom; 4 | 5 | /// 6 | /// Validation rule that requires a non-null value. 7 | /// 8 | /// Type of value to validate. 9 | public class NotNullValidationRule : IValidationRule 10 | { 11 | /// 12 | public string? ErrorMessage { get; set; } = "Value is required."; 13 | 14 | /// 15 | public bool Validate(T? value) 16 | { 17 | return value is not null; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Validation/Rules/RequiredDateValidationRule.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using System; 4 | 5 | namespace Avalonia.Xaml.Interactions.Custom; 6 | 7 | /// 8 | /// Validation rule that requires a non-null date value. 9 | /// 10 | public class RequiredDateValidationRule : IValidationRule 11 | { 12 | /// 13 | public string? ErrorMessage { get; set; } = "Date is required."; 14 | 15 | /// 16 | public bool Validate(DateTimeOffset? value) 17 | { 18 | return value is { }; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Validation/Rules/RequiredDecimalValidationRule.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | namespace Avalonia.Xaml.Interactions.Custom; 4 | 5 | /// 6 | /// Validation rule that requires a non-null decimal value. 7 | /// 8 | public class RequiredDecimalValidationRule : IValidationRule 9 | { 10 | /// 11 | public string? ErrorMessage { get; set; } = "Value is required."; 12 | 13 | /// 14 | public bool Validate(decimal? value) 15 | { 16 | return value is { }; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Validation/Rules/RequiredTextValidationRule.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | namespace Avalonia.Xaml.Interactions.Custom; 4 | 5 | /// 6 | /// Validation rule that requires a non-empty string value. 7 | /// 8 | public class RequiredTextValidationRule : IValidationRule 9 | { 10 | /// 11 | public string? ErrorMessage { get; set; } = "Value is required."; 12 | 13 | /// 14 | public bool Validate(string? value) 15 | { 16 | return !string.IsNullOrWhiteSpace(value); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Validation/SliderValidationBehavior.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Controls.Primitives; 4 | 5 | namespace Avalonia.Xaml.Interactions.Custom; 6 | 7 | /// 8 | /// Validation behavior for range based controls like value. 9 | /// 10 | public class SliderValidationBehavior : PropertyValidationBehavior 11 | { 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | public SliderValidationBehavior() 16 | { 17 | Property = RangeBase.ValueProperty; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/Validation/TextBoxValidationBehavior.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Controls; 4 | 5 | namespace Avalonia.Xaml.Interactions.Custom; 6 | 7 | /// 8 | /// Validation behavior for text. 9 | /// 10 | public class TextBoxValidationBehavior : PropertyValidationBehavior 11 | { 12 | /// 13 | /// Initializes a new instance of the class. 14 | /// 15 | public TextBoxValidationBehavior() 16 | { 17 | Property = TextBox.TextProperty; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Custom/WriteableBitmap/IWriteableBitmapRenderer.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using Avalonia.Media.Imaging; 4 | 5 | namespace Avalonia.Xaml.Interactions.Custom; 6 | 7 | /// 8 | /// Defines a method used to render into a . 9 | /// 10 | public interface IWriteableBitmapRenderer 11 | { 12 | /// 13 | /// Renders into the provided . 14 | /// 15 | /// The target bitmap. 16 | void Render(Media.Imaging.WriteableBitmap bitmap); 17 | } 18 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.DragAndDrop/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using Avalonia.Metadata; 3 | 4 | [assembly: InternalsVisibleTo("Xaml.Behaviors.Interactions.UnitTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001002940ed211918fcf63c506fad1d3f7f958b21ff8f06fd2089398296173f9ca93a69b9b380a828bf13fa80d1745beeb917ec3692f4d10e44b4c941619fc7bbd5052b26880697e6fa3f0ce322c4fa902d20b67a48b4144371218f6d39ad39145ea1fe5484052dd51a2ee62af3acd0759bcf92aaefec03978ded3cfaa84798e92de8")] 5 | 6 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Xaml.Interactions.DragAndDrop")] 7 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Draggable/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using Avalonia.Metadata; 3 | 4 | [assembly: InternalsVisibleTo("Xaml.Behaviors.Interactions.UnitTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001002940ed211918fcf63c506fad1d3f7f958b21ff8f06fd2089398296173f9ca93a69b9b380a828bf13fa80d1745beeb917ec3692f4d10e44b4c941619fc7bbd5052b26880697e6fa3f0ce322c4fa902d20b67a48b4144371218f6d39ad39145ea1fe5484052dd51a2ee62af3acd0759bcf92aaefec03978ded3cfaa84798e92de8")] 5 | 6 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Xaml.Interactions.Draggable")] 7 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Events/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using Avalonia.Metadata; 3 | 4 | [assembly: InternalsVisibleTo("Xaml.Behaviors.Interactions.UnitTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001002940ed211918fcf63c506fad1d3f7f958b21ff8f06fd2089398296173f9ca93a69b9b380a828bf13fa80d1745beeb917ec3692f4d10e44b4c941619fc7bbd5052b26880697e6fa3f0ce322c4fa902d20b67a48b4144371218f6d39ad39145ea1fe5484052dd51a2ee62af3acd0759bcf92aaefec03978ded3cfaa84798e92de8")] 5 | 6 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Xaml.Interactions.Events")] 7 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.ReactiveUI/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using Avalonia.Metadata; 3 | 4 | [assembly: InternalsVisibleTo("Xaml.Behaviors.Interactions.UnitTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001002940ed211918fcf63c506fad1d3f7f958b21ff8f06fd2089398296173f9ca93a69b9b380a828bf13fa80d1745beeb917ec3692f4d10e44b4c941619fc7bbd5052b26880697e6fa3f0ce322c4fa902d20b67a48b4144371218f6d39ad39145ea1fe5484052dd51a2ee62af3acd0759bcf92aaefec03978ded3cfaa84798e92de8")] 5 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Xaml.Interactions.ReactiveUI")] 6 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Responsive/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using Avalonia.Metadata; 3 | 4 | [assembly: InternalsVisibleTo("Xaml.Behaviors.Interactions.UnitTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001002940ed211918fcf63c506fad1d3f7f958b21ff8f06fd2089398296173f9ca93a69b9b380a828bf13fa80d1745beeb917ec3692f4d10e44b4c941619fc7bbd5052b26880697e6fa3f0ce322c4fa902d20b67a48b4144371218f6d39ad39145ea1fe5484052dd51a2ee62af3acd0759bcf92aaefec03978ded3cfaa84798e92de8")] 5 | 6 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Xaml.Interactions.Responsive")] 7 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions.Scripting/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using Avalonia.Metadata; 3 | 4 | [assembly: InternalsVisibleTo("Xaml.Behaviors.Interactions.UnitTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001002940ed211918fcf63c506fad1d3f7f958b21ff8f06fd2089398296173f9ca93a69b9b380a828bf13fa80d1745beeb917ec3692f4d10e44b4c941619fc7bbd5052b26880697e6fa3f0ce322c4fa902d20b67a48b4144371218f6d39ad39145ea1fe5484052dd51a2ee62af3acd0759bcf92aaefec03978ded3cfaa84798e92de8")] 5 | 6 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Xaml.Interactions.Scripting")] 7 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions/Core/DataTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using System.Diagnostics.CodeAnalysis; 4 | 5 | namespace Avalonia.Xaml.Interactions.Core; 6 | 7 | /// 8 | /// A behavior that performs actions when the bound data meets a specified condition. 9 | /// 10 | [RequiresUnreferencedCode("This functionality is not compatible with trimming.")] 11 | public class DataTrigger : DataTriggerBehavior; 12 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions/Core/EventTrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | using System.Diagnostics.CodeAnalysis; 4 | 5 | namespace Avalonia.Xaml.Interactions.Core; 6 | 7 | /// 8 | /// A behavior that listens for a specified event on its source and executes its actions when that event is fired. 9 | /// 10 | [RequiresUnreferencedCode("This functionality is not compatible with trimming.")] 11 | public class EventTrigger : EventTriggerBehavior; 12 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactions/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using Avalonia.Metadata; 3 | 4 | [assembly: InternalsVisibleTo("Xaml.Behaviors.Interactions.UnitTests, PublicKey=00240000048000009400000006020000002400005253413100040000010001002940ed211918fcf63c506fad1d3f7f958b21ff8f06fd2089398296173f9ca93a69b9b380a828bf13fa80d1745beeb917ec3692f4d10e44b4c941619fc7bbd5052b26880697e6fa3f0ce322c4fa902d20b67a48b4144371218f6d39ad39145ea1fe5484052dd51a2ee62af3acd0759bcf92aaefec03978ded3cfaa84798e92de8")] 5 | 6 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Xaml.Interactions")] 7 | [assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Xaml.Interactions.Core")] 8 | -------------------------------------------------------------------------------- /src/Xaml.Behaviors.Interactivity/Contract/ITrigger.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Wiesław Šoltés. All rights reserved. 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. 3 | namespace Avalonia.Xaml.Interactivity; 4 | 5 | /// 6 | /// Interface implemented by all custom triggers. 7 | /// 8 | public interface ITrigger : IBehavior 9 | { 10 | /// 11 | /// Gets the collection of actions associated with the behavior. 12 | /// 13 | ActionCollection? Actions { get; } 14 | } 15 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/App.axaml: -------------------------------------------------------------------------------- 1 |  4 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/App.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | 3 | namespace Avalonia.Xaml.Interactions.UnitTests; 4 | 5 | using Avalonia; 6 | 7 | public class App : Application 8 | { 9 | public override void Initialize() 10 | { 11 | AvaloniaXamlLoader.Load(this); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Assets/NotoMono-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Assets/NotoMono-Regular.ttf -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Assets/NotoSans-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Assets/NotoSans-Italic.ttf -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Assets/NotoSansArabic-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Assets/NotoSansArabic-Regular.ttf -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Assets/NotoSansHebrew-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Assets/NotoSansHebrew-Regular.ttf -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodAction001.axaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodAction001.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 4 | 5 | public partial class CallMethodAction001 : Window 6 | { 7 | public string? TestProperty { get; set; } 8 | 9 | public CallMethodAction001() 10 | { 11 | InitializeComponent(); 12 | } 13 | 14 | public void TestMethod() 15 | { 16 | TestProperty = "Test String"; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodAction002.axaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodAction002.axaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Avalonia.Controls; 3 | 4 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 5 | 6 | public partial class CallMethodAction002 : Window 7 | { 8 | public string? TestProperty { get; set; } 9 | 10 | public object? Sender { get; set; } 11 | 12 | public EventArgs? Args { get; set; } 13 | 14 | public CallMethodAction002() 15 | { 16 | InitializeComponent(); 17 | } 18 | 19 | public void TestMethod(object? sender, EventArgs args) 20 | { 21 | TestProperty = "Test String"; 22 | Sender = sender; 23 | Args = args; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_001.Linux.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_001.Linux.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_001.Linux.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: CallMethodAction001, 3 | Title: CallMethodAction001, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: Button, 9 | Content: Button, 10 | Name: TargetButton 11 | } 12 | ] 13 | }, 14 | IsVisible: true 15 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_001.OSX.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_001.OSX.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_001.OSX.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: CallMethodAction001, 3 | Title: CallMethodAction001, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: Button, 9 | Content: Button, 10 | Name: TargetButton 11 | } 12 | ] 13 | }, 14 | IsVisible: true 15 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_001.Windows.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_001.Windows.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_001.Windows.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: CallMethodAction001, 3 | Title: CallMethodAction001, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: Button, 9 | Content: Button, 10 | Name: TargetButton 11 | } 12 | ] 13 | }, 14 | IsVisible: true 15 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_002.Linux.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_002.Linux.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_002.Linux.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: CallMethodAction002, 3 | Title: CallMethodAction002, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: Button, 9 | Content: Button, 10 | Name: TargetButton 11 | } 12 | ] 13 | }, 14 | IsVisible: true 15 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_002.OSX.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_002.OSX.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_002.OSX.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: CallMethodAction002, 3 | Title: CallMethodAction002, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: Button, 9 | Content: Button, 10 | Name: TargetButton 11 | } 12 | ] 13 | }, 14 | IsVisible: true 15 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_002.Windows.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_002.Windows.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/CallMethodActionTests.CallMethodAction_002.Windows.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: CallMethodAction002, 3 | Title: CallMethodAction002, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: Button, 9 | Content: Button, 10 | Name: TargetButton 11 | } 12 | ] 13 | }, 14 | IsVisible: true 15 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyAction001.axaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 8 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyAction001.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 4 | 5 | public partial class ChangePropertyAction001 : Window 6 | { 7 | public ChangePropertyAction001() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyAction002.axaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 9 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyAction002.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 4 | 5 | public partial class ChangePropertyAction002 : Window 6 | { 7 | public ChangePropertyAction002() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_001.Linux.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_001.Linux.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_001.Linux.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: ChangePropertyAction001, 3 | Title: ChangePropertyAction001, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Updated Text, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_001.OSX.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_001.OSX.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_001.OSX.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: ChangePropertyAction001, 3 | Title: ChangePropertyAction001, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Updated Text, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_001.Windows.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_001.Windows.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_001.Windows.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: ChangePropertyAction001, 3 | Title: ChangePropertyAction001, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Updated Text, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_002.Linux.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_002.Linux.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_002.Linux.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: ChangePropertyAction002, 3 | Title: ChangePropertyAction002, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Initial Text, 10 | FontSize: 12.0, 11 | Name: TargetTextBox 12 | }, 13 | { 14 | Type: Button, 15 | Content: Button, 16 | Name: TargetButton 17 | } 18 | ] 19 | }, 20 | IsVisible: true 21 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_002.OSX.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_002.OSX.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_002.OSX.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: ChangePropertyAction002, 3 | Title: ChangePropertyAction002, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Initial Text, 10 | FontSize: 12.0, 11 | Name: TargetTextBox 12 | }, 13 | { 14 | Type: Button, 15 | Content: Button, 16 | Name: TargetButton 17 | } 18 | ] 19 | }, 20 | IsVisible: true 21 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_002.Windows.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_002.Windows.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/ChangePropertyActionTests.ChangePropertyAction_002.Windows.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: ChangePropertyAction002, 3 | Title: ChangePropertyAction002, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Initial Text, 10 | FontSize: 12.0, 11 | Name: TargetTextBox 12 | }, 13 | { 14 | Type: Button, 15 | Content: Button, 16 | Name: TargetButton 17 | } 18 | ] 19 | }, 20 | IsVisible: true 21 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/Command.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Input; 3 | 4 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 5 | 6 | internal class Command(Action execute, Func? canExecute = null) 7 | : ICommand 8 | { 9 | public bool CanExecute(object? parameter) 10 | { 11 | return canExecute?.Invoke(parameter) ?? true; 12 | } 13 | 14 | public void Execute(object? parameter) 15 | { 16 | execute.Invoke(parameter); 17 | } 18 | 19 | #pragma warning disable CS0067 20 | public event EventHandler? CanExecuteChanged; 21 | #pragma warning restore CS0067 22 | } 23 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/DataTriggerBehavior001.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 4 | 5 | public partial class DataTriggerBehavior001 : Window 6 | { 7 | public DataTriggerBehavior001() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/DataTriggerBehaviorTests.DataTriggerBehavior_001.Linux.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/DataTriggerBehaviorTests.DataTriggerBehavior_001.Linux.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/DataTriggerBehaviorTests.DataTriggerBehavior_001.Linux.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: DataTriggerBehavior001, 3 | Title: DataTriggerBehavior001, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBlock, 9 | Text: More than 50, 10 | Name: TargetTextBlock 11 | }, 12 | { 13 | Type: TextBox, 14 | Text: 75, 15 | Name: TargetTextBox 16 | }, 17 | { 18 | Type: Slider, 19 | Minimum: 0.0, 20 | Maximum: 100.0, 21 | Value: 75.0, 22 | SmallChange: 25.0, 23 | Name: TargetSlider 24 | } 25 | ] 26 | }, 27 | IsVisible: true 28 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/DataTriggerBehaviorTests.DataTriggerBehavior_001.OSX.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/DataTriggerBehaviorTests.DataTriggerBehavior_001.OSX.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/DataTriggerBehaviorTests.DataTriggerBehavior_001.OSX.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: DataTriggerBehavior001, 3 | Title: DataTriggerBehavior001, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBlock, 9 | Text: More than 50, 10 | Name: TargetTextBlock 11 | }, 12 | { 13 | Type: TextBox, 14 | Text: 75, 15 | Name: TargetTextBox 16 | }, 17 | { 18 | Type: Slider, 19 | Minimum: 0.0, 20 | Maximum: 100.0, 21 | Value: 75.0, 22 | SmallChange: 25.0, 23 | Name: TargetSlider 24 | } 25 | ] 26 | }, 27 | IsVisible: true 28 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/DataTriggerBehaviorTests.DataTriggerBehavior_001.Windows.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/DataTriggerBehaviorTests.DataTriggerBehavior_001.Windows.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/DataTriggerBehaviorTests.DataTriggerBehavior_001.Windows.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: DataTriggerBehavior001, 3 | Title: DataTriggerBehavior001, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBlock, 9 | Text: More than 50, 10 | Name: TargetTextBlock 11 | }, 12 | { 13 | Type: TextBox, 14 | Text: 75, 15 | Name: TargetTextBox 16 | }, 17 | { 18 | Type: Slider, 19 | Minimum: 0.0, 20 | Maximum: 100.0, 21 | Value: 75.0, 22 | SmallChange: 25.0, 23 | Name: TargetSlider 24 | } 25 | ] 26 | }, 27 | IsVisible: true 28 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehavior001.axaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 8 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehavior001.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 4 | 5 | public partial class EventTriggerBehavior001 : Window 6 | { 7 | public EventTriggerBehavior001() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehavior002.axaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 8 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehavior002.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 4 | 5 | public partial class EventTriggerBehavior002 : Window 6 | { 7 | public EventTriggerBehavior002() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehavior003.axaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 8 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehavior003.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 4 | 5 | public partial class EventTriggerBehavior003 : Window 6 | { 7 | public EventTriggerBehavior003() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehavior004.axaml: -------------------------------------------------------------------------------- 1 |  5 | 6 | 8 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehavior004.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 4 | 5 | public partial class EventTriggerBehavior004 : Window 6 | { 7 | public EventTriggerBehavior004() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_001.Linux.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_001.Linux.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_001.Linux.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: EventTriggerBehavior001, 3 | Title: EventTriggerBehavior001, 4 | PointerOverElement: { 5 | Type: AccessText, 6 | Text: Button 7 | }, 8 | Content: { 9 | Type: StackPanel, 10 | Children: [ 11 | { 12 | Type: TextBox, 13 | Text: Click Text, 14 | Name: TargetTextBox 15 | }, 16 | { 17 | Type: Button, 18 | Content: Button, 19 | Name: TargetButton 20 | } 21 | ] 22 | }, 23 | IsVisible: true 24 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_001.OSX.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_001.OSX.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_001.OSX.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: EventTriggerBehavior001, 3 | Title: EventTriggerBehavior001, 4 | PointerOverElement: { 5 | Type: AccessText, 6 | Text: Button 7 | }, 8 | Content: { 9 | Type: StackPanel, 10 | Children: [ 11 | { 12 | Type: TextBox, 13 | Text: Click Text, 14 | Name: TargetTextBox 15 | }, 16 | { 17 | Type: Button, 18 | Content: Button, 19 | Name: TargetButton 20 | } 21 | ] 22 | }, 23 | IsVisible: true 24 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_001.Windows.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_001.Windows.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_001.Windows.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: EventTriggerBehavior001, 3 | Title: EventTriggerBehavior001, 4 | PointerOverElement: { 5 | Type: AccessText, 6 | Text: Button 7 | }, 8 | Content: { 9 | Type: StackPanel, 10 | Children: [ 11 | { 12 | Type: TextBox, 13 | Text: Click Text, 14 | Name: TargetTextBox 15 | }, 16 | { 17 | Type: Button, 18 | Content: Button, 19 | Name: TargetButton 20 | } 21 | ] 22 | }, 23 | IsVisible: true 24 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_002.Linux.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_002.Linux.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_002.Linux.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: EventTriggerBehavior002, 3 | Title: EventTriggerBehavior002, 4 | PointerOverElement: { 5 | Type: AccessText, 6 | Text: Button 7 | }, 8 | Content: { 9 | Type: StackPanel, 10 | Children: [ 11 | { 12 | Type: TextBox, 13 | Text: Tapped Text, 14 | Name: TargetTextBox 15 | }, 16 | { 17 | Type: Button, 18 | Content: Button, 19 | Name: TargetButton 20 | } 21 | ] 22 | }, 23 | IsVisible: true 24 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_002.OSX.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_002.OSX.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_002.OSX.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: EventTriggerBehavior002, 3 | Title: EventTriggerBehavior002, 4 | PointerOverElement: { 5 | Type: AccessText, 6 | Text: Button 7 | }, 8 | Content: { 9 | Type: StackPanel, 10 | Children: [ 11 | { 12 | Type: TextBox, 13 | Text: Tapped Text, 14 | Name: TargetTextBox 15 | }, 16 | { 17 | Type: Button, 18 | Content: Button, 19 | Name: TargetButton 20 | } 21 | ] 22 | }, 23 | IsVisible: true 24 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_002.Windows.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_002.Windows.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_002.Windows.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: EventTriggerBehavior002, 3 | Title: EventTriggerBehavior002, 4 | PointerOverElement: { 5 | Type: AccessText, 6 | Text: Button 7 | }, 8 | Content: { 9 | Type: StackPanel, 10 | Children: [ 11 | { 12 | Type: TextBox, 13 | Text: Tapped Text, 14 | Name: TargetTextBox 15 | }, 16 | { 17 | Type: Button, 18 | Content: Button, 19 | Name: TargetButton 20 | } 21 | ] 22 | }, 23 | IsVisible: true 24 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_003.Linux.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_003.Linux.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_003.Linux.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: EventTriggerBehavior003, 3 | Title: EventTriggerBehavior003, 4 | PointerOverElement: { 5 | Type: AccessText, 6 | Text: Button 7 | }, 8 | Content: { 9 | Type: StackPanel, 10 | Children: [ 11 | { 12 | Type: TextBox, 13 | Text: DoubleTapped Text, 14 | Name: TargetTextBox 15 | }, 16 | { 17 | Type: Button, 18 | Content: Button, 19 | Name: TargetButton 20 | } 21 | ] 22 | }, 23 | IsVisible: true 24 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_003.OSX.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_003.OSX.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_003.OSX.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: EventTriggerBehavior003, 3 | Title: EventTriggerBehavior003, 4 | PointerOverElement: { 5 | Type: AccessText, 6 | Text: Button 7 | }, 8 | Content: { 9 | Type: StackPanel, 10 | Children: [ 11 | { 12 | Type: TextBox, 13 | Text: DoubleTapped Text, 14 | Name: TargetTextBox 15 | }, 16 | { 17 | Type: Button, 18 | Content: Button, 19 | Name: TargetButton 20 | } 21 | ] 22 | }, 23 | IsVisible: true 24 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_003.Windows.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_003.Windows.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_003.Windows.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: EventTriggerBehavior003, 3 | Title: EventTriggerBehavior003, 4 | PointerOverElement: { 5 | Type: AccessText, 6 | Text: Button 7 | }, 8 | Content: { 9 | Type: StackPanel, 10 | Children: [ 11 | { 12 | Type: TextBox, 13 | Text: DoubleTapped Text, 14 | Name: TargetTextBox 15 | }, 16 | { 17 | Type: Button, 18 | Content: Button, 19 | Name: TargetButton 20 | } 21 | ] 22 | }, 23 | IsVisible: true 24 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_004.Linux.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_004.Linux.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_004.Linux.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: EventTriggerBehavior004, 3 | Title: EventTriggerBehavior004, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Loaded Text, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_004.OSX.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_004.OSX.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_004.OSX.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: EventTriggerBehavior004, 3 | Title: EventTriggerBehavior004, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Loaded Text, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_004.Windows.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_004.Windows.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/EventTriggerBehaviorTests.EventTriggerBehavior_004.Windows.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: EventTriggerBehavior004, 3 | Title: EventTriggerBehavior004, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Loaded Text, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandAction001.axaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 10 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandAction001.axaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Input; 2 | using Avalonia.Controls; 3 | 4 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 5 | 6 | public partial class InvokeCommandAction001 : Window 7 | { 8 | public ICommand TestCommand { get; set; } 9 | 10 | public InvokeCommandAction001() 11 | { 12 | InitializeComponent(); 13 | 14 | TestCommand = new Command(_ => 15 | { 16 | TargetTextBox.Text = "Command Text"; 17 | }); 18 | 19 | DataContext = this; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandAction002.axaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Input; 2 | using Avalonia.Controls; 3 | 4 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 5 | 6 | public partial class InvokeCommandAction002 : Window 7 | { 8 | public ICommand TestCommand { get; set; } 9 | 10 | public InvokeCommandAction002() 11 | { 12 | InitializeComponent(); 13 | 14 | TestCommand = new Command(parameter => 15 | { 16 | TargetTextBox.Text = $"Command {parameter}"; 17 | }); 18 | 19 | DataContext = this; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandAction003.axaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Input; 2 | using Avalonia.Controls; 3 | 4 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 5 | 6 | public partial class InvokeCommandAction003 : Window 7 | { 8 | public ICommand TestCommand { get; set; } 9 | 10 | public InvokeCommandAction003() 11 | { 12 | InitializeComponent(); 13 | 14 | TestCommand = new Command(parameter => 15 | { 16 | TargetTextBox.Text = $"Command {parameter}"; 17 | }); 18 | 19 | DataContext = this; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandAction004.axaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Input; 2 | using Avalonia.Controls; 3 | 4 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 5 | 6 | public partial class InvokeCommandAction004 : Window 7 | { 8 | public ICommand TestCommand { get; set; } 9 | 10 | public InvokeCommandAction004() 11 | { 12 | InitializeComponent(); 13 | 14 | TestCommand = new Command(parameter => 15 | { 16 | TargetTextBox.Text = $"{parameter?.GetType().Name}"; 17 | }); 18 | 19 | DataContext = this; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_001.Linux.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_001.Linux.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_001.Linux.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: InvokeCommandAction001, 3 | Title: InvokeCommandAction001, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Command Text, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_001.OSX.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_001.OSX.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_001.OSX.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: InvokeCommandAction001, 3 | Title: InvokeCommandAction001, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Command Text, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_001.Windows.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_001.Windows.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_001.Windows.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: InvokeCommandAction001, 3 | Title: InvokeCommandAction001, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Command Text, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_002.Linux.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_002.Linux.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_002.Linux.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: InvokeCommandAction002, 3 | Title: InvokeCommandAction002, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Command Param, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_002.OSX.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_002.OSX.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_002.OSX.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: InvokeCommandAction002, 3 | Title: InvokeCommandAction002, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Command Param, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_002.Windows.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_002.Windows.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_002.Windows.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: InvokeCommandAction002, 3 | Title: InvokeCommandAction002, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Command Param, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_003.Linux.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_003.Linux.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_003.Linux.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: InvokeCommandAction003, 3 | Title: InvokeCommandAction003, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Command Button, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_003.OSX.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_003.OSX.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_003.OSX.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: InvokeCommandAction003, 3 | Title: InvokeCommandAction003, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Command Button, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_003.Windows.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_003.Windows.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_003.Windows.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: InvokeCommandAction003, 3 | Title: InvokeCommandAction003, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: Command Button, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_004.Linux.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_004.Linux.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_004.Linux.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: InvokeCommandAction004, 3 | Title: InvokeCommandAction004, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: RoutedEventArgs, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_004.OSX.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_004.OSX.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_004.OSX.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: InvokeCommandAction004, 3 | Title: InvokeCommandAction004, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: RoutedEventArgs, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_004.Windows.verified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wieslawsoltes/Xaml.Behaviors/5d709e8b2d1fe665af23fa78cd13b10af1a9e91f/tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_004.Windows.verified.png -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/InvokeCommandActionTests.InvokeCommandAction_004.Windows.verified.txt: -------------------------------------------------------------------------------- 1 | { 2 | Type: InvokeCommandAction004, 3 | Title: InvokeCommandAction004, 4 | Content: { 5 | Type: StackPanel, 6 | Children: [ 7 | { 8 | Type: TextBox, 9 | Text: RoutedEventArgs, 10 | Name: TargetTextBox 11 | }, 12 | { 13 | Type: Button, 14 | Content: Button, 15 | Name: TargetButton 16 | } 17 | ] 18 | }, 19 | IsVisible: true 20 | } -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Core/TestValueConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using Avalonia.Data.Converters; 4 | using Avalonia.Interactivity; 5 | 6 | namespace Avalonia.Xaml.Interactions.UnitTests.Core; 7 | 8 | internal class TestValueConverter : IValueConverter 9 | { 10 | public static readonly TestValueConverter Instance = new (); 11 | 12 | public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) 13 | { 14 | if (value is RoutedEventArgs args) 15 | { 16 | return args.Source?.GetType().Name; 17 | } 18 | 19 | throw new ArgumentException("Invalid value type"); 20 | } 21 | 22 | public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) 23 | { 24 | throw new NotImplementedException(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/ModuleInit.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using VerifyTests; 3 | 4 | public static class ModuleInit 5 | { 6 | [ModuleInitializer] 7 | public static void InitOther() 8 | { 9 | VerifierSettings.InitializePlugins(); 10 | VerifyImageMagick.RegisterComparers(0.04); 11 | VerifierSettings.UniqueForOSPlatform(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using Xunit; 3 | 4 | [assembly: AssemblyTitle("Xaml.Behaviors.Interactions.UnitTests")] 5 | 6 | [assembly: CollectionBehavior(DisableTestParallelization = true)] 7 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactions.UnitTests/TestAppBuilder.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Headless; 2 | using Avalonia.Xaml.Interactions.UnitTests; 3 | 4 | [assembly: AvaloniaTestApplication(typeof(TestAppBuilder))] 5 | 6 | namespace Avalonia.Xaml.Interactions.UnitTests; 7 | 8 | public class TestAppBuilder 9 | { 10 | public static AppBuilder BuildAvaloniaApp() 11 | { 12 | return AppBuilder 13 | .Configure() 14 | .UseSkia() 15 | .UseHeadless(new AvaloniaHeadlessPlatformOptions { UseHeadlessDrawing = false }); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactivity.UnitTests/App.axaml: -------------------------------------------------------------------------------- 1 |  4 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactivity.UnitTests/App.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Markup.Xaml; 2 | 3 | namespace Avalonia.Xaml.Interactivity.UnitTests; 4 | 5 | using Avalonia; 6 | 7 | public class App : Application 8 | { 9 | public override void Initialize() 10 | { 11 | AvaloniaXamlLoader.Load(this); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactivity.UnitTests/BehaviorOfTTests.cs: -------------------------------------------------------------------------------- 1 | namespace Avalonia.Xaml.Interactivity.UnitTests; 2 | 3 | public class BehaviorOfTTests 4 | { 5 | // TODO: 6 | } 7 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactivity.UnitTests/BehaviorTests.cs: -------------------------------------------------------------------------------- 1 | namespace Avalonia.Xaml.Interactivity.UnitTests; 2 | 3 | public class BehaviorTests 4 | { 5 | // TODO: 6 | } 7 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactivity.UnitTests/Collections/ActionCollectionTemplate001.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Xaml.Interactivity.UnitTests; 4 | 5 | public partial class ActionCollectionTemplate001 : Window 6 | { 7 | public ActionCollectionTemplate001() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactivity.UnitTests/Collections/BehaviorCollectionTemplate001.axaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | 3 | namespace Avalonia.Xaml.Interactivity.UnitTests; 4 | 5 | public partial class BehaviorCollectionTemplate001 : Window 6 | { 7 | public BehaviorCollectionTemplate001() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactivity.UnitTests/InteractionTests.cs: -------------------------------------------------------------------------------- 1 | namespace Avalonia.Xaml.Interactivity.UnitTests; 2 | 3 | public class InteractionTests 4 | { 5 | // TODO: 6 | } 7 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactivity.UnitTests/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using Xunit; 3 | 4 | [assembly: AssemblyTitle("Xaml.Behaviors.Interactivity.UnitTests")] 5 | 6 | [assembly: CollectionBehavior(DisableTestParallelization = true)] 7 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactivity.UnitTests/StubAction.cs: -------------------------------------------------------------------------------- 1 | namespace Avalonia.Xaml.Interactivity.UnitTests; 2 | 3 | public class StubAction(object? returnValue) : Avalonia.Xaml.Interactivity.StyledElementAction 4 | { 5 | public StubAction() : this(null) 6 | { 7 | } 8 | 9 | public object? Sender 10 | { 11 | get; 12 | private set; 13 | } 14 | 15 | public object? Parameter 16 | { 17 | get; 18 | private set; 19 | } 20 | 21 | public int ExecuteCount 22 | { 23 | get; 24 | private set; 25 | } 26 | 27 | public override object? Execute(object? sender, object? parameter) 28 | { 29 | ExecuteCount++; 30 | Sender = sender; 31 | Parameter = parameter; 32 | return returnValue; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactivity.UnitTests/TestAppBuilder.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Headless; 2 | using Avalonia.Xaml.Interactivity.UnitTests; 3 | 4 | [assembly: AvaloniaTestApplication(typeof(TestAppBuilder))] 5 | 6 | namespace Avalonia.Xaml.Interactivity.UnitTests; 7 | 8 | public class TestAppBuilder 9 | { 10 | public static AppBuilder BuildAvaloniaApp() 11 | { 12 | return AppBuilder 13 | .Configure() 14 | .UseSkia() 15 | .UseHeadless(new AvaloniaHeadlessPlatformOptions { UseHeadlessDrawing = false }); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactivity.UnitTests/TriggerOfTTests.cs: -------------------------------------------------------------------------------- 1 | namespace Avalonia.Xaml.Interactivity.UnitTests; 2 | 3 | public class TriggerOfTTests 4 | { 5 | // TODO: 6 | } 7 | -------------------------------------------------------------------------------- /tests/Xaml.Behaviors.Interactivity.UnitTests/TriggerTests.cs: -------------------------------------------------------------------------------- 1 | namespace Avalonia.Xaml.Interactivity.UnitTests; 2 | 3 | public class TriggerTests 4 | { 5 | // TODO: 6 | } 7 | --------------------------------------------------------------------------------