MaskedTextBox
The MaskedTextBox control is an editable text field where a user can input text.

Source code

​MaskedTextBox.cs​

Basic example line TextBox

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="AvaloniaAppTemplate.MainWindow"
Title="AvaloniaAppTemplate">
<StackPanel Margin="10">
<MaskedTextBox Mask="(00) 000 - 000 000 00" />
</StackPanel>
</Window>
produces the following output in Ubuntu
and it behaves like so when filled in by user input

Supported Masks

The Mask Property accepts a string as Configuration and it follows the same Mask configuration as WPF masks.
Masking element
Description
0
Digit, required. This element will accept any single digit between 0 and 9.
9
Digit or space, optional.
#
Digit or space, optional. If this position is blank in the mask, it will be rendered as a space in the Text property. Plus (+) and minus (-) signs are allowed.
L
Letter, required. Restricts input to the ASCII letters a-z and A-Z
?
Letter, optional. Restricts input to the ASCII letters a-z and A-Z
&
Character, required. If the AsciiOnly property is set to true, this element behaves like the "L" element.
C
Character, optional. Any non-control character. If the AsciiOnly property is set to true, this element behaves like the "?" element.
A
Alphanumeric, required. If the AsciiOnly property is set to true, the only characters it will accept are the ASCII letters a-z and A-Z. This mask element behaves like the "a" element.
a
Alphanumeric, optional. If the AsciiOnly property is set to true, the only characters it will accept are the ASCII letters a-z and A-Z. This mask element behaves like the "A" element.
.
Decimal placeholder. The actual display character used will be the decimal symbol appropriate to the format provider, as determined by the control's FormatProvider property.
,
Thousands placeholder. The actual display character used will be the thousands placeholder appropriate to the format provider, as determined by the control's FormatProvider property.
:
Time separator. The actual display character used will be the time symbol appropriate to the format provider, as determined by the control's FormatProvider property.
/
Date separator. The actual display character used will be the date symbol appropriate to the format provider, as determined by the control's FormatProvider property.
$
Currency symbol. The actual character displayed will be the currency symbol appropriate to the format provider, as determined by the control's FormatProvider property.
<
Shift down. Converts all characters that follow to lowercase.
>
Shift up. Converts all characters that follow to uppercase.
|
Disable a previous shift up or shift down.
\
Escape. Escapes a mask character, turning it into a literal. "\"
All other characters
Literals. All non-mask elements will appear as themselves within MaskedTextBox. Literals always occupy a static position in the mask at run time, and cannot be moved or deleted by the user.
Last modified 26d ago
Export as PDF
Copy link
Edit on GitHub
On this page
Source code
Basic example line TextBox
Supported Masks