我想从客户处获取电话号码,但我希望它被视为()__-__
格式,当客户输入数字时,它不会消失,我希望得到的结果为{{1 }。
我该怎么做呢?我应该使用特定控件吗?
答案 0 :(得分:0)
你想要的是一个MaskedTextBox控件。没有一个开箱即用,但如果你四处搜索,那里有很多它们。例如,请查看the WPF extended toolkit。
具有区号的美国电话号码的示例用法,来自以上链接:
<xctk:MaskedTextBox x:Name="_maskedTextBox"
Mask="(000) 000-0000" ValueDataType="{x:Type s:String}" />
这里,零表示所需的数字。没有任何数据,控件将呈现如下:
(___) ___-____
除了特殊标记之外,掩码中的任何字符都将呈现为掩码的文字部分,与上例中的括号一样。这是一个掩码令牌列表。 Source,用于旧的Windows形式MaskedTextBox而不是WPF,但工具包版本遵循相同的约定,与大多数其他WPF版本一样。
0
数字,必填。该元素将接受0到9之间的任何单个数字。
9
数字或空格,可选。
#
数字或空格,可选。如果掩码中此位置为空,则它将在Text属性中呈现为空格。允许加号(+)和减号( - )。
L
信,要求。限制输入ASCII字母a-z和A-Z。此掩码元素在正则表达式中等同于[a-zA-Z]
。
?
信,可选。限制输入ASCII字母a-z和A-Z。此掩码元素在正则表达式中等同于[a-zA-Z]?
。
&
性格,必需。如果AsciiOnly属性设置为true,则此元素的行为类似于L
元素。
C
字符,可选。任何非控制角色。如果AsciiOnly属性设置为true,则此元素的行为类似于?
元素。
A
字母数字,可选。如果AsciiOnly属性设置为true,则它将接受的唯一字符是ASCII字母a-z和A-Z。
a
字母数字,可选。如果AsciiOnly属性设置为true,则它将接受的唯一字符是ASCII字母a-z和A-Z。
.
小数占位符。使用的实际显示字符将是适合格式提供程序的十进制符号,由控件的FormatProvider属性确定。
,
成千上万的占位符。使用的实际显示字符将是适合格式提供程序的千位占位符,由控件的FormatProvider属性确定。
:
时间分隔符。使用的实际显示字符将是适合格式提供程序的时间符号,由控件的FormatProvider属性确定。
/
日期分隔符。使用的实际显示字符将是适合格式提供程序的日期符号,由控件的FormatProvider属性确定。
$
货币符号。显示的实际字符将是适合格式提供程序的货币符号,由控件的FormatProvider属性确定。
<
降档。将后面的所有字符转换为小写
>
上移。将后面的所有字符转换为大写。
|
禁用上一次上移或下移。
\
逃逸。逃离一个面具角色,将其变成文字。 “\”是反斜杠的转义序列。