MaskedTextBox
Represents a control that limits the input text to the format determined by the specified mask.Note: This version of MaskedTextBox replaces the toolkit's original control, providing a much more complete API. The original control is still available in the Xceed.Wpf.Toolkit.Obselete namespace; see MaskedTextBox (obsolete version).
<sample:DemoView x:Class="Samples.Modules.Text.Views.MaskedTextBoxView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sample="clr-namespace:Samples.Infrastructure.Controls;assembly=Samples.Infrastructure"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:osb="clr-namespace:Xceed.Wpf.Toolkit.Obselete;assembly=WPFToolkit.Extended"
xmlns:s="clr-namespace:System;assembly=mscorlib"
Title="MaskedTextBox"
Description="The MaskedTextBox control lets you display and edit values based on a mask.">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<GroupBox Header="Features" Grid.Row="0" Margin="5">
<StackPanel Margin="5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="Include literals:" VerticalAlignment="Center" Margin="2" />
<CheckBox x:Name="_literals" Grid.Column="1" VerticalAlignment="Center" Margin="5"
IsChecked="{Binding IncludeLiteralsInValue, ElementName=_maskedTextBox,
Mode=TwoWay}"/>
<TextBlock Text="Include prompt:" Grid.Row="1" VerticalAlignment="Center" Margin="2" />
<CheckBox x:Name="_prompt" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="5"
IsChecked="{Binding IncludePromptInValue, ElementName=_maskedTextBox, Mode=TwoWay}"/>
</Grid>
<Grid Margin="0,5,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="Mask:" VerticalAlignment="Center" Margin="2" />
<TextBox x:Name="_mask" Grid.Column="1" VerticalAlignment="Center" Margin="5"
Text="{Binding Mask, ElementName=_maskedTextBox, ValidatesOnExceptions=True}" />
<TextBlock Text="Value:" Grid.Row="1" VerticalAlignment="Center" Margin="2" />
<TextBox x:Name="_value" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="5"
Text="{Binding Value, ElementName=_maskedTextBox, ValidatesOnExceptions=True}" />
<TextBlock Text="Text:" Grid.Row="2" VerticalAlignment="Center" Margin="2" />
<TextBox x:Name="_text" Grid.Row="2" Grid.Column="1" VerticalAlignment="Center" Margin="5"
Text="{Binding Text, ElementName=_maskedTextBox, ValidatesOnExceptions=True}"/>
</Grid>
</StackPanel>
</GroupBox>
<StackPanel Grid.Row="1" Margin="10">
<xctk:MaskedTextBox x:Name="_maskedTextBox"
Mask="(000) 000-0000"
ValueDataType="{x:Type s:String}" />
</StackPanel>
</Grid>
</sample:DemoView>
Get 50+ awesome WPF controls in the Plus Edition.
---