Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Features List

Shaun Lawrence edited this page Dec 13, 2021 · 13 revisions

Xamarin Community Toolkit Features

This page documents the features for the Xamarin.CommunityToolkit:

Xamarin Community Toolkit Features

Behaviors

Animations

Feature Description Documentation
AnimationBehavior A Behavior that allows TapGestureRecognizer to be used as ICommand AnimateCommand TBD
FadeAnimation Fade Out then Fade In a VisualElement TBD
FlipHorizontalAnimation Rotate a VisualElement around its x-axis TBD
FlipVerticalAnimation Rotate a VisualElement around its y-axis TBD
RotateAnimation Rotate a VisualElement around its z-axis TBD
ScaleAnimation Increase the size of a VisualElement , then return it to its original size TBD
ShakeAnimation Shake a VisualElement left and right TBD

Attached Behaviors

Feature Description Documentation
SetFocusOnEntryCompletedBehavior An attached property for entries that allows the user to specify what VisualElement should gain focus after the user completes that entry SetFocusOnEntryCompletedBehavior

Validators

Feature Description Documentation
CharactersValidationBehavior A behavior that allows the user to validate text input depending on specified parameters CharactersValidationBehavior
EmailValidationBehavior A behavior that allows users to determine whether or not text input is a valid e-mail address EmailValidationBehavior
MultiValidationBehavior A behavior that allows the user to combine multiple validators to validate text input depending on specified parameters MultiValidationBehavior
NumericValidationBehavior A behavior that allows the user to determine if text input is a valid numeric value NumericValidationBehavior
RequiredStringValidationBehavior A behavior that allows the user to determine if text input is equal to specific text RequiredStringValidationBehavior
TextValidationBehavior A behavior that allows the user to validate a given text depending on specified parameters TextValidationBehavior
UriValidationBehavior A behavior that allows users to determine whether or not text input is a valid URI UriValidationBehavior

Other

Feature Description Documentation
EventToCommandBehavior A behavior that allows the user to invoke an ICommand through an event EventToCommandBehavior
ImpliedOrderGridBehavior Enables you to automatically assign a Grid row and column to a view based on the order the view is added to the Grid ImpliedOrderGridBehavior
MaskedBehavior A behavior that allows the user to define an input mask for data entry MaskedBehavior
MaxLengthReachedBehavior A behavior that allows the user to trigger an action when a user has reached the maximum length allowed on an InputView MaxLengthReachedBehavior
ProgressBarAnimationBehavior A behavior that animates a ProgressBar TBD
UserStoppedTypingBehavior A behavior that allows the user to trigger an action when a user has stopped data input any InputView UserStoppedTypingBehavior

Converters

Feature Description Documentation
BoolToObjectConverter Converts boolean to object and vice versa BoolToObjectConverter
ByteArrayToImageSourceConverter Converts the incoming value from byte[] and returns the object of a type ImageSource or vice versa ByteArrayToImageSourceConverter
ColorToBlackOrWhiteConverter Converts the incoming value from Color and returns the object of a type Color TBD
ColorToByteAlphaConverter Converts the incoming value from Color and returns the object of a type byte
ColorToRgbStringConverter Converts the incoming value from Color and returns the object of a type string TBD
CompareConverter Converts an object that implements IComparable to an object or a boolean based on a comparison CompareConverter
DateTimeOffsetConverter Converts DateTimeOffset to DateTime and back DateTimeOffsetConverter
DoubleToIntConverter Converts double to int and vice versa DoubleToIntConverter
EnumToBoolConverter Convert an Enum to corresponding bool EnumToBoolConverter
EnumToIntConverter Converts an Enum to its underlying int value EnumToIntConverter
EqualConverter Checks whether the incoming value equals the provided parameter EqualConverter
ImageResourceConverter Converts embedded image resource ID to it ImageSource TBD
IndexToArrayItemConverter Converts an int index to corresponding array item and vice versa IndexToArrayItemConverter
IntToBoolConverter Converts an int to corresponding bool and vice versa IntToBoolConverter
InvertedBoolConverter Converts true to false and false to true. Simple as that! InvertedBoolConverter
IsInRangeConverter Checks if the value is between minValue and maxValue, returning true if the value is within the range and false if the value is out of the range IsInRangeConverter
IsNotNullOrEmptyConverter Converts the incoming value to a bool indicating whether or not the value is not null and not empty. IsNotNullOrEmptyConverter
IsNullOrEmptyConverter Converts the incoming value to a bool indicating whether or not the value is null or empty IsNullOrEmptyConverter
ItemSelectedEventArgsConverter Converts/Extracts the incoming value from SelectedItemChangedEventArgs object and returns the value of SelectedItemChangedEventArgs.SelectedItem property from it ItemSelectedEventArgsConverter
ItemTappedEventArgsConverter Converts/Extracts the incoming value from ItemTappedEventArgs object and returns the value of ItemTappedEventArgs.Item property from it ItemTappedEventArgsConverter
ListIsNotNullOrEmptyConverter Converts the incoming value to a bool indicating whether or not the value is not null and not empty ListIsNotNullOrEmptyConverter
ListIsNullOrEmptyConverter Converts the incoming value to a bool indicating whether or not the value is null or empty ListIsNullOrEmptyConverter
ListToStringConverter Concatenates the members of a collection, using the specified separator between each member ListToStringConverter
MathExpressionConverter A converter that allows users to calculate an expression at runtime from supplied arguments MathExpressionConverter
MultiConverter Converts an incoming value using all of the incoming converters in sequence MultiConverter
NotEqualConverter Checks whether the incoming value doesn't equal the provided parameter NotEqualConverter
StateToBooleanConverter This converter can be used with StateLayout to determine if a certain state is visible TBD
StringToListConverter StringToListConverter
TextCaseConverter Converts string and char to certain case as specified with Type or the parameter of the Convert method TBD
VariableMultiValueConverter Allows users to convert multiple bool value bindings to a single bool TBD

Effects

Feature Description Documentation
IconTintColorEffect Tints a VisualElement to a specific Color TBD
LifeCycleEffect An effect to subscribe to the View's lifecycle events LifeCycleEffect
RemoveBorderEffect Removes a border from a VisualElement TBD
SafeAreaEffect Indicates whether or not that element should take current safe areas into account SafeAreaEffect
SelectAllTextEffect Highlights all text when an InputView is selected TBD
SemanticEffect Provides descriptive text for screen readers to any VisualElement TBD
ShadowEffect Add a shadow to any VisualElement TBD
StatusBarEffect Set the color and style of the status bar TBD
TouchEffect Adds additional touch events to any VisualElement TBD
VisualFeedbackEffect Adds color to a VisualElement when touched TBD

Extensions

Feature Description Documentation
ColorTo Animation to change the Color of a VisualElement TBD
ColorExtensions Extension methods for Color, e.g. ToRgbString, ToCmykString` TBD
ImageResourceExtension Provides ImageSource by Resource Id from the current app's assembly ImageResourceExtension
TranslateExtension Allows users to handle multi-language support at runtime TranslateExtension

Helpers

Feature Description Documentation
DelegateWeakEventManager Weak Delegate event manager that allows for garbage collection when the EventHandler is still subscribed DelegateWeakEventManager
LocalizationResourceManager Enables users to respond to culture changes at runtime LocalizationResourceManager
WeakEventManager Weak event manager that allows for garbage collection when the EventHandler is still subscribed WeakEventManager

Object Model

Feature Description Documentation
AsyncCommand An implementation of IAsyncCommand. Allows Commands to safely be used asynchronously with Task. AsyncCommand
AsyncValueCommand An implementation of IAsyncValueCommand. Allows Commands to safely be used asynchronously with ValueTask. AsyncValueCommand
CommandFactory CommandFactory
Grouping Grouping of items by key into ObservableRange TBD
ObservableObject Observable object with INotifyPropertyChanged implemented using WeakEventManager TBD
ObservableRangeCollection Represents a dynamic data collection that provides notifications when items get added, removed, or when the whole list is refreshed TBD

Platform Configuration

Feature Description Documentation
PopUp Arrow Direction iOS-specific implementation allowing the user to configure the Popup Arrow Direction TBD
Popup Border Color Windows-specific implementation allowing the user to configure the Popup Border Color TBD
Navigation Bar Effect Android-specific implementation allowing the user to customize the Navigation Bar TBD

Views

Feature Description Documentation
AvatarView Allows the user to display an avatar or the user's initials if no avatar is available AvatarView
BadgeView Allows the user to show a badge with a string value on top of any control BadgeView
CameraView Enables the user to display a preview of the camera output CameraView
DockLayout Makes it easy to dock content in all four directions (top, bottom, left and right) DockLayout
DrawingView Allows you to draw one or multiple lines on a canvas TBD
Expander Provides an expandable container to host any content Expander
GravatarImageSource Allows the use of Gravatar Images TBD
HexLayout A Layout that arranges the elements in a honeycomb pattern TBD
LazyView Allows you to delay the initialization of a View LazyView
MediaElement A view for playing video and audio MediaElement
Popup A customizable popup Popup
RangeSlider Enables the user to select a range of values through a slider bar interface RangeSlider
SemanticOrderView Accessibility augmentation to set the order of VisualElements for screen readers TBD
SideMenuView Adds a swipe-able side menu TBD
Snackbar Adds a snackbar TBD
Shield A type of badge that has two colored sections that contain text Shield
StateLayout Enables the user to turn any layout element like a Grid or StackLayout into an individual state-aware element StateLayout
TabView Allows the user to display a set of tabs and their content TabView
UniformGrid A Grid with all rows and columns have the same size UniformGrid
ViewSwitcher Allows transitions between VisualElement TBD