2011-09-12 17 views

答えて

3

テキスト入力をソースオブジェクトのプロパティで必要なデータ型に変換できない場合、バインディングは例外をスワップします。ただし、バインディングにValidatesOnExceptionを指定することはできます。これは変換問題の標準的な赤い枠の報告を引き起こします。現在の値を表示するためにのみ関連する文字列フォーマットプロパティとは無関係ですが、ユーザーがデータを入力しているときには表示されません。

<TextBox Text="{Binding Path=Amount, Mode=TwoWay, StringFormat=\{0:N\}, ValidatesOnExceptions=True}" HorizontalAlignment="Left" Width="200"/> 

メモ幅を制限して左に揃えました。デフォルトの検証ポップアップの問題の1つは、テキストボックスの右端がSilverlightコントロールの右端の右端と一致しているときに問題になる問題です。

+0

まだ私のgazillionフィールドを編集する必要がありますが、それは私が望んでいたよりも良いので、ありがとう:) –

+0

validatesOnExceptionは素晴らしいですが、私はローカリゼーションの問題があります:http://stackoverflow.com/q/7399822/204682 –

2

は、あなたがテキストボックスに入り、正確に内容を制御することを可能にするフィルタの挙動を書くの考えたことはありますか?

+0

それはどういう意味ですか? –

+0

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 –

+0

私は巨大なフィールドに属性を追加することを避けることを望んでいました:しかし、ありがとうございます。 –

関連する問題