### XAML Usage Example
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyScratchView.md
Example demonstrating how to use FreakyScratchView in XAML with various properties.
```APIDOC
## XAML Usage
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
```
--------------------------------
### Add FreakyControls Package
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/MAUI.FreakyControls/MAUI.FreakyControls/readme.md
Install the FreakyControls NuGet package using the .NET CLI.
```bash
dotnet add package FreakyControls
```
--------------------------------
### XAML Usage for FreakySwitch
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySwitch.md
Demonstrates how to integrate the FreakySwitch into your XAML markup. Ensure the namespace is correctly defined. This example shows binding to a ViewModel property, setting custom colors, and enabling the check mark and a command.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### FreakyAutoCompleteView XAML Usage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyAutoCompleteView.md
Example of how to use the FreakyAutoCompleteView in XAML, including common properties and event handlers.
```APIDOC
## XAML Usage
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
```
--------------------------------
### FreakySwipeButton XAML Usage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySwipeButton.md
Example of how to implement the FreakySwipeButton in XAML, including custom thumb, track, and fill views.
```APIDOC
## XAML Usage
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
```
--------------------------------
### FreakyPicker XAML Usage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyPicker.md
Example of how to use FreakyPicker in XAML, including setting a title, items source, selected item, and image properties.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### Add FreakyControls Package via Package Manager Console
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/README.md
Alternatively, install the FreakyControls package using the Package Manager Console in Visual Studio. Replace 'xx.xx.xx' with the desired version.
```powershell
Install-Package FreakyControls -Version xx.xx.xx
```
--------------------------------
### FreakyZoomableView XAML Usage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyZoomableView.md
Demonstrates how to integrate FreakyZoomableView in XAML, setting minimum and maximum zoom scales, enabling double-tap to zoom, and specifying the scale factor for double-tap gestures. Includes an example child Image view.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### Get Signature as Image Stream
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySignatureCanvasView.md
Retrieve the current signature as an encoded image stream. Supports PNG format by default and allows customization of size, scale, stroke color, and fill color via overloads.
```csharp
Stream stream = await SignaturePad.GetImageStreamAsync(SignatureImageFormat.Png);
```
--------------------------------
### Include Raw Assets in MAUI Project
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/MAUI.FreakyControls/Samples/Resources/Raw/AboutAssets.txt
Use the `MauiAsset` build action in your `.csproj` file to include raw assets. The `LogicalName` ensures files are deployed with their original directory structure and name.
```xml
```
--------------------------------
### Initialize FreakyControls in MauiProgram
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/MAUI.FreakyControls/MAUI.FreakyControls/readme.md
Initialize FreakyControls in your MauiProgram.cs file. Set `useSkiaSharp` to true for controls like FreakyCheckbox, FreakyRadioButton, and FreakySvgImageView, and `useFreakyEffects` for touch/ripple effects.
```csharp
using Maui.FreakyControls.Extensions;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder.UseMauiApp();
// useSkiaSharp: required for FreakyCheckbox, FreakyRadioButton, FreakySvgImageView
// useFreakyEffects: required for touch/ripple effects
builder.InitializeFreakyControls(useSkiaSharp: true, useFreakyEffects: true);
return builder.Build();
}
}
```
--------------------------------
### Initialize FreakyControls in MauiProgram.cs
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/README.md
Integrate FreakyControls into your MAUI application by calling InitializeFreakyControls in your MauiProgram.cs. Configure SkiaSharp and FreakyEffects as needed.
```csharp
using Maui.FreakyControls.Extensions;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
});
// useSkiaSharp → FreakyCheckbox, FreakyRadioButton, FreakySvgImageView, FreakySwitch, FreakyScratchView
// useFreakyEffects → touch/ripple effects
builder.InitializeFreakyControls(useSkiaSharp: true, useFreakyEffects: true);
return builder.Build();
}
}
```
--------------------------------
### FreakyTimePicker XAML Usage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyTimePicker.md
Demonstrates how to use the FreakyTimePicker in XAML, including binding time, setting an image source, alignment, and a tap command.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### XAML Usage for FreakyCodeView and FreakyPinCodeControl
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCodeView.md
Demonstrates how to integrate FreakyCodeView for inline OTP entry and FreakyPinCodeControl with a custom keyboard in XAML. Includes binding to view models and command execution.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### FreakyDatePicker XAML Usage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyDatePicker.md
Demonstrates how to integrate FreakyDatePicker in XAML, including setting date binding, image source, alignment, and command.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### XAML Usage of FreakyScratchView
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyScratchView.md
Demonstrates how to integrate FreakyScratchView in XAML, including setting image sources, reveal threshold, and back content. Ensure the necessary namespace is declared.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### XAML Usage for FreakyChip and FreakyChipGroup
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyChip.md
Demonstrates how to declare a standalone FreakyChip and a FreakyChipGroup for single-selection behavior in XAML. Ensure the 'freaky' namespace is correctly defined.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### Basic XAML Usage of FreakyTextInputLayout
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyTextInputLayout.md
Demonstrates how to declare and configure FreakyTextInputLayout in XAML, including setting the title, text binding, border type, and image source. Ensure the necessary namespace is included.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### FreakyImage XAML Usage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyImage.md
Demonstrates how to declare and use the FreakyImage control in XAML, including setting the source and handling the ImageLoaded event.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### XAML Usage for FreakyJumpList
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyJumpList.md
Demonstrates how to declare and configure FreakyJumpList in XAML. Includes namespace declaration and common property settings.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### FreakyAutoCompleteView XAML Usage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyAutoCompleteView.md
Demonstrates how to declare and configure FreakyAutoCompleteView in XAML, including binding to data, setting placeholders, and handling events.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### Access Deployed Raw Assets in MAUI
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/MAUI.FreakyControls/Samples/Resources/Raw/AboutAssets.txt
Access raw assets deployed with your application package using `FileSystem.OpenAppPackageFileAsync`. This method returns a stream that can be read into memory.
```csharp
async Task LoadMauiAsset()
{
using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");
using var reader = new StreamReader(stream);
var contents = reader.ReadToEnd();
}
```
--------------------------------
### FreakyAutoCompleteView Properties
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyAutoCompleteView.md
A list of configurable properties for the FreakyAutoCompleteView, detailing their types, default values, and descriptions.
```APIDOC
## Properties
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `Text` | `string` | `""` | Current input text |
| `Placeholder` | `string` | `""` | Placeholder text |
| `PlaceholderColor` | `Color` | `Colors.Gray` | Placeholder text colour |
| `TextColor` | `Color` | `Colors.Gray` | Input text colour |
| `TextMemberPath` | `string` | `""` | Property path used to populate the field when a suggestion is chosen |
| `DisplayMemberPath` | `string` | `""` | Property path used to display items in the suggestion list |
| `ItemsSource` | `IList` | `null` | Collection of suggestion items |
| `Threshold` | `int` | `1` | Minimum characters typed before suggestions appear |
| `IsSuggestionListOpen` | `bool` | `false` | Programmatically show or hide the suggestion list |
| `UpdateTextOnSelect` | `bool` | `true` | Whether selecting a suggestion updates the text field |
| `AllowCopyPaste` | `bool` | `false` | Enable or disable copy/paste context menu |
| `HorizontalTextAlignment` | `TextAlignment` | `Start` | |
| `VerticalTextAlignment` | `TextAlignment` | `Center` | |
| `FontFamily` | `string` | `null` | |
| `FontSize` | `double` | `14` | |
| `FontAttributes` | `FontAttributes` | `None` | |
| `TextTransform` | `TextTransform` | `None` | Apply uppercase, lowercase, or default transform to input text |
| `ImageSource` | `ImageSource` | `null` | Optional side icon |
| `ImageHeight` | `int` | `25` | |
| `ImageWidth` | `int` | `25` | |
| `ImageAlignment` | `ImageAlignment` | `Right` | `Left` or `Right` |
| `ImagePadding` | `int` | `5` | |
| `ImageCommand` | `ICommand` | `null` | Command fired when the icon is tapped |
| `ImageCommandParameter` | `object` | `null` | |
| `SuggestionListWidth` | `double` | `0` | Override dropdown width (`0` = match input width) |
| `SuggestionListHeight` | `double` | `0` | Override dropdown max height (`0` = dynamic/wrap content) |
```
--------------------------------
### XAML Usage for FreakyRadioButton and FreakyRadioGroup
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyRadioButton.md
Demonstrates how to use FreakyRadioButton as a standalone element and within a FreakyRadioGroup for single selection in XAML. Ensure the necessary namespace is declared.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### FreakyCheckbox XAML Usage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCheckbox.md
Demonstrates how to declare and bind a FreakyCheckbox in XAML. Ensure the FreakyControls namespace is correctly imported.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### FreakyScratchView Methods
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyScratchView.md
Available methods to control the state and behavior of FreakyScratchView.
```APIDOC
## Methods
| Method | Description |
| --- | --- |
| `Reset()` | Restores the scratch surface to its original state and resets all scratch progress. The cached front image is preserved so it does not reload |
```
--------------------------------
### FreakySwipeButton XAML Usage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySwipeButton.md
Demonstrates how to declare and configure a FreakySwipeButton in XAML, including custom thumb, track, and fill views, and binding a command to the slide completion event.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### FreakyButton XAML Usage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyButton.md
Demonstrates how to use FreakyButton in XAML, including setting text, busy state, command, corner radius, colors, and adding a leading icon.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### FreakyAutoCompleteView Events
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyAutoCompleteView.md
Details on the events that FreakyAutoCompleteView can trigger, including their arguments and purpose.
```APIDOC
## Events
| Event | Args | Description |
| --- | --- | --- |
| `TextChanged` | `FreakyAutoCompleteViewTextChangedEventArgs` | Fires on user input or programmatic text change. `Reason` indicates `UserInput`, `ProgrammaticChange`, or `SuggestionChosen` |
| `QuerySubmitted` | `FreakyAutoCompleteViewQuerySubmittedEventArgs` | Fires when the user presses return or selects a suggestion |
| `SuggestionChosen` | `FreakyAutoCompleteViewSuggestionChosenEventArgs` | Fires when a suggestion row is tapped |
```
--------------------------------
### FreakyScratchView Properties
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyScratchView.md
Configuration options for FreakyScratchView, controlling its appearance and behavior.
```APIDOC
## Properties
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `BackContent` | `View` | `null` | The view revealed as the user scratches |
| `FrontImageSource` | `ImageSource` | `null` | Image drawn as the scratchable surface. Supports file, stream, and URI sources. Takes priority over `FrontColor` when set |
| `FrontColor` | `Color` | `Colors.LightGray` | Solid colour used as the scratchable surface when no `FrontImageSource` is set |
| `BrushSize` | `float` | `40` | Scratch brush diameter in canvas pixels |
| `RevealThreshold` | `float` | `0.7` | Fraction of the surface (0.0–1.0) that must be scratched before `ScratchCompleted` fires |
| `AutoRevealEnabled` | `bool` | `true` | Automatically clear the remaining surface and play the reveal animation once the threshold is reached |
| `IsTapToRevealEnabled` | `bool` | `false` | A single tap (without dragging) fully reveals the card |
| `RevealAnimationType` | `ScratchRevealAnimationType` | `FadeOut` | Animation played when the surface is fully revealed — `None`, `FadeOut`, or `Shimmer` |
| `ScratchCompletedCommand` | `ICommand` | `null` | Command executed when `RevealThreshold` is reached |
```
--------------------------------
### FreakyEntry XAML Usage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyEntry.md
Demonstrates how to declare and configure the FreakyEntry control in XAML, including setting text binding, placeholder, side image properties, and enabling copy/paste.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### XAML Usage for FreakySvgImageView
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySvgImageView.md
Demonstrates how to use FreakySvgImageView in XAML to load SVGs from embedded resources or Base64 strings. Configure `ResourceId` and `SvgAssembly` for embedded resources, or `Base64String` for direct SVG data. Supports tinting with `ImageColor` and tap actions with `Command`.
```xml
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:MyApp"
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### FreakyCheckbox Properties
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCheckbox.md
This snippet details the configurable properties of the FreakyCheckbox control, allowing for customization of its appearance and behavior.
```APIDOC
## FreakyCheckbox Properties
This section details the properties available for the `FreakyCheckbox` control.
### Properties
- **`IsChecked`** (`bool`) - Default: `false` - TwoWay binding for the checked state.
- **`HasCheckAnimation`** (`bool`) - Default: `true` - Enables or disables the animation of the check mark on toggle.
- **`OutlineColor`** (`Color`) - Default: `Colors.Black` - Sets the color of the checkbox border.
- **`FillColor`** (`Color`) - Default: `Colors.White` - Sets the background color of the checkbox when it is checked.
- **`CheckColor`** (`Color`) - Default: `Colors.Black` - Sets the color of the check mark.
- **`OutlineWidth`** (`float`) - Default: `6` - Defines the stroke width of the checkbox border.
- **`CheckWidth`** (`float`) - Default: `6` - Defines the stroke width of the check mark.
- **`Shape`** (`Shape`) - Default: platform default - Specifies the shape of the checkbox. Accepts `Rectangle` or `Circle`.
- **`CheckType`** (`CheckType`) - Default: `Check` - Determines the visual representation of the checked state. Accepts `Check` (tick) or `Fill` (solid fill).
- **`Design`** (`Design`) - Default: `Unified` - Selects the visual design variant of the checkbox.
- **`AnimationType`** (`AnimationType`) - Default: `Default` - Specifies the animation style applied when the checkbox is toggled.
- **`SizeRequest`** (`double`) - Default: `24` - Sets the width and height of the control.
- **`CheckedChangedCommand`** (`ICommand`) - Default: `null` - A command that executes when the `IsChecked` property changes.
```
--------------------------------
### FreakyRadioButton Properties and Events
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyRadioButton.md
This section details the properties and events available for the FreakyRadioButton component, allowing for customization of its appearance and behavior, as well as handling state changes.
```APIDOC
## FreakyRadioButton
### Description
A SkiaSharp-rendered radio button that can be used standalone or within a FreakyRadioGroup for mutually exclusive selection.
### Properties
- **IsChecked** (`bool`) - TwoWay — checked state. Default: `false`
- **Name** (`string`) - Identifier used by FreakyRadioGroup. Default: `"RadioButton"`
- **HasCheckAnimation** (`bool`) - Animate on toggle. Default: `true`
- **OutlineColor** (`Color`) - Default: `Colors.Black`
- **FillColor** (`Color`) - Background fill. Default: `Colors.White`
- **CheckColor** (`Color`) - Inner dot colour. Default: `Colors.Black`
- **OutlineWidth** (`float`) - Border stroke width. Default: `6`
- **SizeRequest** (`double`) - Width and height. Default: `24`
- **CheckedChangedCommand** (`ICommand`) - Default: `null`
### Events
- **CheckedChanged** (`CheckedChangedEventArgs`): Fires when `IsChecked` changes.
```
--------------------------------
### XAML Usage for FreakyCircularImage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCircularImage.md
Demonstrates how to declare and use the FreakyCircularImage in XAML. Ensure the namespace is correctly defined. Set equal HeightRequest and WidthRequest for a perfect circle.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### FreakyScratchView Events
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyScratchView.md
Events that can be subscribed to for FreakyScratchView interactions.
```APIDOC
## Events
| Event | Args | Description |
| --- | --- | --- |
| `ScratchCompleted` | `EventArgs` | Fires once when the scratched area reaches `RevealThreshold` |
```
--------------------------------
### FreakyEditor XAML Usage
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyEditor.md
Include the FreakyEditor namespace and use the FreakyEditor control in XAML. Set AllowCopyPaste to false to disable the context menu.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### FreakyCheckbox Events
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCheckbox.md
This snippet outlines the events that the FreakyCheckbox control can raise, specifically for tracking changes in its checked state.
```APIDOC
## FreakyCheckbox Events
This section details the events exposed by the `FreakyCheckbox` control.
### Events
- **`CheckedChanged`**
- **Args**: `CheckedChangedEventArgs`
- **Description**: Fires when the `IsChecked` property changes.
```
--------------------------------
### FreakyRadioGroup Properties and Events
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyRadioButton.md
This section details the properties and events for the FreakyRadioGroup component, which manages a collection of FreakyRadioButtons to ensure only one can be selected at a time.
```APIDOC
## FreakyRadioGroup
### Description
A container for FreakyRadioButtons that ensures only one button within the group can be selected at a time, facilitating mutually exclusive choices.
### Properties
- **SelectedIndex** (`int`) - TwoWay — zero-based index of the selected button. Default: `-1`
- **SelectedRadioButtonChangedCommand** (`ICommand`) - Default: `null`
### Events
- **SelectedRadioButtonChanged** (`FreakyRadioButtonEventArgs`): Fires when the selection changes within the group.
```
--------------------------------
### FreakyCodeView Properties
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCodeView.md
Properties available for the FreakyCodeView control, used for inline OTP/PIN entry.
```APIDOC
## FreakyCodeView Properties
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `CodeValue` | `string` | `""` | TwoWay — current entered code |
| `CodeLength` | `int` | `4` | Number of input slots |
| `CodeInputType` | `KeyboardType` | `Numeric` | Keyboard type shown |
| `IsPassword` | `bool` | `true` | Mask digits with dots |
| `Color` | `Color` | `Colors.Black` | Default item colour |
| `ItemShape` | `ItemShape` | `Circle` | `Circle` or `Square` |
| `ItemSize` | `double` | `50` | Size of each item slot |
| `ItemSpacing` | `double` | `5` | Space between slots |
| `ItemBorderColor` | `Color` | `Colors.Black` | |
| `ItemBorderWidth` | `double` | `5` | |
| `ItemBackgroundColor` | `Color` | default | |
| `ItemFocusColor` | `Color` | `Colors.Black` | Colour of the focused slot |
| `ItemFocusAnimation` | `FocusAnimation` | default | Animation style on focus |
| `FontSize` | `double` | `ItemSize / 2` | |
| `FontFamily` | `string` | `null` | |
| `ShouldAutoDismissKeyboard` | `bool` | `true` | Dismiss keyboard after last digit |
| `CodeEntryCompletedCommand` | `ICommand` | `null` | |
```
--------------------------------
### FreakyCodeView Events
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCodeView.md
Events that can be handled by the FreakyCodeView control.
```APIDOC
### FreakyCodeView Events
| Event | Args | Description |
| --- | --- | --- |
| `CodeEntryCompleted` | `FreakyCodeCompletedEventArgs` | Fires when all digits are entered |
```
--------------------------------
### FreakySwipeButton Properties
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySwipeButton.md
The FreakySwipeButton offers several properties to customize its appearance and behavior.
```APIDOC
## Properties
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `Thumb` | `View` | `null` | The draggable handle — any `View` |
| `TrackBar` | `View` | `null` | The static background track — any `View` |
| `FillBar` | `View` | `null` | The progress fill that follows the thumb — any `View` |
| `SlideCompleteCommand` | `ICommand` | `null` | Fired when the thumb reaches the end |
```
--------------------------------
### Update Namespace for Enums
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/MAUI.FreakyControls/MAUI.FreakyControls/readme.md
After version 0.5.0, the 'Shared' folder was removed from namespaces. Update your using statements accordingly.
```csharp
using Maui.FreakyControls.Shared.Enums; // old
using Maui.FreakyControls.Enums; // new
```
--------------------------------
### FreakyPinCodeControl Additional Properties
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCodeView.md
Additional properties specific to FreakyPinCodeControl, which extends FreakyCodeView with a custom keyboard.
```APIDOC
## Additional FreakyPinCodeControl Properties
All `FreakyCodeView` properties apply, plus:
| Property | Type | Default | Description |
| --- | --- | --- | --- |
| `ShouldShowCancelButton` | `bool` | `true` | Show/hide the cancel key |
| `CancelButtonText` | `string` | `"Cancel"` | Cancel key label |
| `CancelButtonImageSource` | `ImageSource` | `null` | Image for cancel key (replaces text) |
| `BackspaceButtonSource` | `ImageSource` | `null` | Image for backspace key |
| `KeyboardBackgroundColor` | `Color` | `Colors.White` | |
| `KeyboardTextColor` | `Color` | `Colors.Black` | |
| `KeyboardButtonCornerRadius` | `int` | `10` | |
| `KeyboardButtonHeightRequest` | `double` | default | |
| `KeyboardButtonWidthRequest` | `double` | default | |
| `KeyboardSpacing` | `double` | `10` | Spacing between keyboard rows |
| `CancelBackgroundColor` | `Color` | `Colors.White` | |
| `BackspaceBackgroundColor` | `Color` | `Colors.White` | |
| `CancelButtonPadding` | `Thickness` | `20` | |
| `CancelFontSize` | `double` | inherited | |
```
--------------------------------
### Add FreakyControls Namespace to XAML
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/MAUI.FreakyControls/MAUI.FreakyControls/readme.md
Add the FreakyControls namespace to your XAML pages to use the custom controls.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
--------------------------------
### FreakySwipeButton Events
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySwipeButton.md
The FreakySwipeButton provides an event to notify when the swipe gesture is completed.
```APIDOC
## Events
| Event | Description |
| --- | --- |
| `SlideCompleted` | Fires when the swipe gesture reaches 100% |
```
--------------------------------
### FreakyPinCodeControl Events
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakyCodeView.md
Events specific to the FreakyPinCodeControl.
```APIDOC
### FreakyPinCodeControl Events
| Event | Description |
| --- | --- |
| `CodeEntryCompleted` | Fires when all digits are entered |
| `KeyboardClicked` | Fires on each key tap |
| `CancelClicked` | Fires when the cancel key is tapped |
| `BackSpaceClicked` | Fires when backspace is tapped |
```
--------------------------------
### XAML Usage for FreakySignatureCanvasView
Source: https://github.com/freakyali/maui.freakycontrols/blob/master/docs/FreakySignatureCanvasView.md
Declare the FreakySignatureCanvasView in XAML, setting properties like StrokeColor, StrokeWidth, and binding commands for save and clear operations.
```xml
xmlns:freaky="clr-namespace:Maui.FreakyControls;assembly=Maui.FreakyControls"
```
=== COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.