顧客から電話番号を取得したいのですが、()__-__
同様の形式で表示され、顧客が番号を入力しても消えず、結果を として取得したいと考えてい(555) 555-55
ます。
どうすればそれを行うことができますか?使用すべき特定のコントロールはありますか?
顧客から電話番号を取得したいのですが、()__-__
同様の形式で表示され、顧客が番号を入力しても消えず、結果を として取得したいと考えてい(555) 555-55
ます。
どうすればそれを行うことができますか?使用すべき特定のコントロールはありますか?
必要なのは MaskedTextBox コントロールです。すぐに使えるものはありませんが、検索するとたくさんあります。たとえば、WPF 拡張ツールキットを確認してください。
上記のリンクから、市外局番付きの米国の電話番号の使用例:
<xctk:MaskedTextBox x:Name="_maskedTextBox"
Mask="(000) 000-0000" ValueDataType="{x:Type s:String}" />
ここで、ゼロは必須の数字を表します。データがない場合、コントロールは次のようにレンダリングされます。
(___) ___-____
特殊なトークン以外のマスク内の文字は、上記の例の括弧のように、マスクのリテラル部分としてレンダリングされます。マスク トークンの一覧を次に示します。Sourceは、WPF ではなく古い Windows フォーム MaskedTextBox 用ですが、ツールキット バージョンは、他のほとんどの WPF バージョンと同様に同じ規則に従います。
0
数字、必須。この要素は、0 から 9 までの任意の 1 桁を受け入れます。
9
数字またはスペース、オプション。
#
数字またはスペース、オプション。この位置がマスクで空白の場合、Text プロパティでスペースとしてレンダリングされます。プラス (+) およびマイナス (-) 記号を使用できます。
L
手紙、必須。入力を ASCII 文字 az および AZ に制限します。[a-zA-Z]
このマスク要素は、正規表現と同等です。
?
レター、オプション。入力を ASCII 文字 az および AZ に制限します。[a-zA-Z]?
このマスク要素は、正規表現と同等です。
&
キャラクター、必須。AsciiOnly プロパティが true に設定されている場合、この要素は要素のように動作しL
ます。
C
文字、オプション。非制御文字。AsciiOnly プロパティが true に設定されている場合、この要素は要素のように動作し?
ます。
A
英数字、オプション。AsciiOnly プロパティが true に設定されている場合、受け入れられる唯一の文字は、ASCII 文字の az と AZ です。
a
英数字、オプション。AsciiOnly プロパティが true に設定されている場合、受け入れられる唯一の文字は、ASCII 文字の az と AZ です。
.
10 進数のプレースホルダー。使用される実際の表示文字は、コントロールの FormatProvider プロパティによって決定される、フォーマット プロバイダーに適した小数点記号になります。
,
千のプレースホルダー。使用される実際の表示文字は、コントロールの FormatProvider プロパティによって決定される、フォーマット プロバイダーに適した 1000 桁のプレースホルダーになります。
:
時間区切り。使用される実際の表示文字は、コントロールの FormatProvider プロパティによって決定される、フォーマット プロバイダーに適した時間記号になります。
/
日付区切り。使用される実際の表示文字は、コントロールの FormatProvider プロパティによって決定される、フォーマット プロバイダーに適した日付記号になります。
$
通貨記号。表示される実際の文字は、コントロールの FormatProvider プロパティによって決定される、フォーマット プロバイダーに適した通貨記号になります。
<
シフトダウン。後続のすべての文字を小文字に変換します
>
シフトアップ。後続のすべての文字を大文字に変換します。
|
前のシフトアップまたはシフトダウンを無効にします。
\
エスケープ。マスク文字をエスケープして、リテラルに変換します。「\」はバックスラッシュのエスケープ シーケンスです。