書式コンバーター |
書式コンバーターは、InputMan for WPF の強力な書式設定を、他の表示用コントロールにも適用できる仕組みを提供します。TextBlock など標準の表示用コントロールでも、InputMan for WPF の細やかな書式設定を活用できます。
InputMan for WPF では、以下の3種類の書式コンバーターを用意しています。
種類 | 説明 |
---|---|
DateFormatConverter | 日付/時刻の変換可能な値をパターンに基づいて文字列に変換する日付コンバータです。和暦の書式設定、値が Null の場合の代替テキスト、和暦で表示できない場合の透かし表示テキストなどが設定できます。 |
NumberFormatConverter | 10 進数値をパターンに基づいて文字列に変換する数値コンバータです。負数の符号、漢数字の表示、「千円」「百万円」といった表示単位の設定、値が Null の場合の透かし表示テキストなどが設定できます。 |
MaskFormatConverter | 特別な書式を持つテキストの変換に使用されるマスクコンバータです。正規表現を使用した定型書式の設定、値が Null の場合の透かし表示テキストなどが設定できます。 |
これらの書式コンバーターによって、バインディングプロセスにおいて、指定した書式に基づいて特定のテキストを別の文字列に変換することを可能にします。
なお、書式コンバーターは値の表示に対してのみ使用可能です。値の入力に対する書式のコンバート機能はありません。
書式コンバーターは、バインディングプロセスにおけるコンバーターとして指定します。バインディングで書式コンバーターを使用するには、まず使用する書式コンバーターのクラスのインスタンスを作成します。例えば以下のサンプルコードは、マスクコンバーターを使用して郵便番号の書式を指定する場合の例です。
<UserControl.Resources> <im:MaskFormatConverter x:Key="MyMaskConv" Pattern="〒\D{3}-\D{4}" NullString="(未入力)" /> </UserControl.Resources>
その後、このバインディングの Converter プロパティをそのインスタンスに設定します。
<TextBlock Name="TextBlock1" Text="{Binding postal, Converter={StaticResource MyMaskConv}}"/>