TextBox.MaxLength Property

Gets or sets the value that determines the maximum number of characters allowed for user input.

Namespace:  System.Windows.Controls
Assembly:  System.Windows (in System.Windows.dll)

public int MaxLength { get; set; }
<TextBox MaxLength="int"/>

Property Value

Type: System.Int32
The maximum number of characters allowed for user input. The default is 0.


The value set is less than 0.


The value set is null.

Dependency property identifier field: MaxLengthProperty.

Setting a value of 0 indicates that there is no restriction on the number of characters.

Setting MaxLength only restricts the number of characters a user may input. It does not restrict the programmatic input. If the number of characters programmatically added to the text box is greater than MaxLength, then the user may delete characters, but not add any. Once the number of characters is less than MaxLength, the user may add text again.

It is allowed for the user to undo previous actions and cause the text to exceed the MaxLength.

If the user pastes text into the text box that causes the number of characters to exceed MaxLength, then the last characters in the text box are deleted.

Surrogate characters are treated as one character for the purposes of determining text length.

The following code snippets show how you can use the MaxLength property in XAML and code.

    <TextBox Margin="20,20,0,0" Text="A text box that demonstrates TextWrapping, TextAlignment, MaxLength, and AcceptsReturn" Width="300" Height="50" TextWrapping="Wrap" TextAlignment="Center" MaxLength="500" AcceptsReturn="True" />
    <TextBox Margin="20,20,0,0" Text="A text box that demonstrates HorizontalScrollBarVisibility and VerticalScrollBarVisibility" Width="300" Height="50" AcceptsReturn="True" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" />

public Page()

private void CreateControls()
    //Create stack panel
    StackPanel MyStackPanel = new StackPanel();

    //Create the first text box
    TextBox MyTB1 = new TextBox();
    MyTB1.Width = 300;
    MyTB1.Height = 50;
    MyTB1.Text = "A text box that demonstrates TextWrapping, TextAlignment, MaxLength and AcceptsReturn";
    MyTB1.TextWrapping = TextWrapping.Wrap;
    MyTB1.TextAlignment = TextAlignment.Center;
    MyTB1.MaxLength = 500;
    MyTB1.AcceptsReturn = true;
    MyTB1.Margin = new Thickness(20, 20, 0, 0);

    //Create the second text box
    TextBox MyTB2 = new TextBox();
    MyTB2.Margin = new Thickness(20, 20, 0, 0);
    MyTB2.Text = "A text box that demonstrates HorizontalScrollBarVisibility and VerticalScrollBarVisibility";
    MyTB2.Width = 300;
    MyTB2.Height = 50;
    MyTB2.AcceptsReturn = true;
    MyTB2.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;
    MyTB2.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;

    //Add the text boxes to the stack panel
    this.Content = MyStackPanel;


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions