2012-06-29 26 views
-1

我想從客戶那裏獲得電話號碼,但我希望它被看作()__-__,就像格式一樣,當客戶輸入數字時它不會消失,我希望得到結果爲(555) 555-55WPF中的字符串格式

我該怎麼做呢?有沒有我應該使用的具體控制?

+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 Letter,required。限制輸入到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屬性確定。

< 下移。將後面的所有字符轉換爲小寫字母

> 上移。將後面的所有字符轉換爲大寫。

| 禁用以前的升檔或降檔。

\ Escape。逃離掩碼字符,將其變成文字。 「\」是反斜槓的轉義序列。