CommonControls.Maui
1.0.6
See the version list below for details.
dotnet add package CommonControls.Maui --version 1.0.6
NuGet\Install-Package CommonControls.Maui -Version 1.0.6
<PackageReference Include="CommonControls.Maui" Version="1.0.6" />
<PackageVersion Include="CommonControls.Maui" Version="1.0.6" />
<PackageReference Include="CommonControls.Maui" />
paket add CommonControls.Maui --version 1.0.6
#r "nuget: CommonControls.Maui, 1.0.6"
#:package CommonControls.Maui@1.0.6
#addin nuget:?package=CommonControls.Maui&version=1.0.6
#tool nuget:?package=CommonControls.Maui&version=1.0.6
CommonControls.Maui
A .NET MAUI library providing clean, borderless input controls with Android and iOS handler mappings.
Controls
| Control | Description |
|---|---|
| BorderlessEntry | Entry without platform border/underline |
| BorderlessEditor | Editor without platform border/underline |
| PasswordEntry | Password input with built-in show/hide toggle |
| ValidationEntry | Entry with configurable border, separator, and inline error message |
Installation
<ItemGroup>
<PackageReference Include="CommonControls.Maui" Version="1.0.6" />
</ItemGroup>
Setup
Register handler mappings once in MauiProgram.cs:
using CommonControls.Maui.Hosting;
builder.UseCommonControls();
XAML namespace
xmlns:cc="clr-namespace:CommonControls.Maui.Controls;assembly=CommonControls.Maui"
BorderlessEntry
Entry with the platform-native border/underline removed.
<cc:BorderlessEntry Placeholder="Email" />
BorderlessEditor
Editor with the platform-native border removed.
<cc:BorderlessEditor Placeholder="Notes" HeightRequest="100" />
PasswordEntry
Password input with a built-in show/hide toggle button. Uses bundled eye icons by default; supports custom image sources.
<cc:PasswordEntry Placeholder="Password" />
<cc:PasswordEntry
Placeholder="Password"
ShowPasswordImageSource="my_eye.png"
HidePasswordImageSource="my_hidden.png"
ImageHeight="20"
ImageWidth="20" />
Properties
| Property | Type | Default | Description |
|---|---|---|---|
| Text | string | null | Input text (two-way bindable) |
| Placeholder | string | null | Placeholder text |
| IsPassword | bool | true | Toggles password masking |
| ShowPasswordImageSource | ImageSource | built-in eye icon | Icon shown when password is hidden |
| HidePasswordImageSource | ImageSource | built-in hidden icon | Icon shown when password is visible |
| ImageHeight | double | 24 | Toggle icon height |
| ImageWidth | double | 24 | Toggle icon width |
| FontSize | double | 14 | Input font size |
| TextColor | Color | platform default | Input text color |
| PlaceholderColor | Color | platform default | Placeholder text color |
ValidationEntry
An entry with a configurable border and inline error message. The border and separator are independently controlled — mix and match to suit your design.
Border / separator combinations
| BorderVisible | SeparatorVisible | Error state appearance |
|---|---|---|
| false | false | no border, no separator — only error text |
| true | false | border switches to ErrorBorderColor, no separator |
| false | true | no border, separator line appears above error text |
| true | true | border and separator both switch to error color |
<cc:ValidationEntry
Placeholder="Email"
Keyboard="Email"
SeparatorVisible="True"
ErrorSeparatorColor="Red"
ErrorMessage="Please enter a valid email"
IsValid="{Binding IsEmailValid}" />
<cc:ValidationEntry
Placeholder="Username"
BorderColor="Gray"
BorderVisible="True"
ErrorBorderColor="Red"
ErrorMessage="This field is required"
IsValid="{Binding IsUsernameValid}" />
<cc:ValidationEntry
Placeholder="Password"
BorderColor="Black"
BorderVisible="True"
CornerRadius="8"
ErrorBorderColor="Black"
SeparatorVisible="True"
ErrorSeparatorColor="Black"
ErrorMessage="Must be at least 8 characters"
ErrorColor="Orange"
ErrorFontSize="11"
IsValid="{Binding IsPasswordValid}" />
Properties
| Property | Type | Default | Description |
|---|---|---|---|
| Text | string | null | Input text (two-way bindable) |
| Placeholder | string | null | Placeholder text |
| IsValid | bool | true | When false, switches to error state |
| ErrorMessage | string | empty | Text shown below the entry when invalid |
| Keyboard | Keyboard | Default | Keyboard type (Email, Numeric, Telephone, etc.) |
| FontSize | double | 14 | Input font size |
| TextColor | Color | platform default | Input text color |
| PlaceholderColor | Color | platform default | Placeholder text color |
| BorderVisible | bool | false | Show a rectangular border around the control |
| BorderColor | Color | Transparent | Border color when valid |
| ErrorBorderColor | Color | Red | Border color when invalid |
| CornerRadius | double | 0 | Corner radius of the border |
| SeparatorVisible | bool | false | Show a 1px line above the error message when invalid |
| ErrorSeparatorColor | Color | Red | Separator color when invalid |
| ErrorColor | Color | Red | Error message text color |
| ErrorFontSize | double | 12 | Error message font size |
Events
| Event | Description |
|---|---|
| TextChanged | Raised when the input text changes |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-android36.0 is compatible. net10.0-ios26.0 is compatible. |
-
net10.0-android36.0
- Microsoft.Maui.Controls (>= 9.0.111)
-
net10.0-ios26.0
- Microsoft.Maui.Controls (>= 9.0.111)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.