Links

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 5mo ago