の空の文字列を返すには、ここに私のコードスニペットです:SilverlightのStringformat:不正な形式の文字列ではなく、例外
<TextBox Text="{Binding Path=Amount, Mode=TwoWay, StringFormat=\{0:N\}}" />
ユーザーが文字や多数などを入力した場合、stringformatは黙って死にます。代わりに私は例外を発生させることができますか?
おかげ
の空の文字列を返すには、ここに私のコードスニペットです:SilverlightのStringformat:不正な形式の文字列ではなく、例外
<TextBox Text="{Binding Path=Amount, Mode=TwoWay, StringFormat=\{0:N\}}" />
ユーザーが文字や多数などを入力した場合、stringformatは黙って死にます。代わりに私は例外を発生させることができますか?
おかげ
テキスト入力をソースオブジェクトのプロパティで必要なデータ型に変換できない場合、バインディングは例外をスワップします。ただし、バインディングにValidatesOnException
を指定することはできます。これは変換問題の標準的な赤い枠の報告を引き起こします。現在の値を表示するためにのみ関連する文字列フォーマットプロパティとは無関係ですが、ユーザーがデータを入力しているときには表示されません。
<TextBox Text="{Binding Path=Amount, Mode=TwoWay, StringFormat=\{0:N\}, ValidatesOnExceptions=True}" HorizontalAlignment="Left" Width="200"/>
メモ幅を制限して左に揃えました。デフォルトの検証ポップアップの問題の1つは、テキストボックスの右端がSilverlightコントロールの右端の右端と一致しているときに問題になる問題です。
は、あなたがテキストボックスに入り、正確に内容を制御することを可能にするフィルタの挙動を書くの考えたことはありますか?
それはどういう意味ですか? –
WPF/Silverlightでは、コントロールタイプの再利用可能なバーハビルを書くことができます。あなたのシナリオでは、入力されたテキストのタイプを制限するTextboxの動作を書くことができます。数字のみ。いくつかのアイデアのためにこれらを読んでください:http://www.dataartist.net/blog/post/Silverlight-Behavior-Modifications-13-NumericOnlyBehavior.aspx http://csharperimage.jeremylikness.com/2009/10/silverlight- behaviors-and-triggers_07.html –
私は巨大なフィールドに属性を追加することを避けることを望んでいました:しかし、ありがとうございます。 –
まだ私のgazillionフィールドを編集する必要がありますが、それは私が望んでいたよりも良いので、ありがとう:) –
validatesOnExceptionは素晴らしいですが、私はローカリゼーションの問題があります:http://stackoverflow.com/q/7399822/204682 –