私は、Windowsユニバーサルアプリケーションでx:Bind
とINotifyPropertyChanged
を使用して、ListView
コントロールに埋め込まれたTextBox
にクラスプロパティをバインドしています。クラスプロパティのタイプはdouble
なので、ユーザーがstring
を入力しないようにします。私が抱えている問題は、双方向データバインディングでは、ユーザーが無効な入力を入力したときに処理する前に例外がスローされるということです。x:バインドデータのバリデーション
0
A
答えて
0
こんにちは、あなたの双方向のbindigプロパティの設定方法でそれを検証することができます。このようなもの:
private double number;
public double Number
{
get
{
return number;
}
set
{
double tempNumber;
if (double.TryParse(value.ToString(), out tempNumber))
{
number = value;
}
else
{
number = 0.0;
}
RaisePropertyChange(nameof(Number));
}
}
希望します。
0
私はコメントを書くことができません:あなたのバインディングでバリューコンバータを使用するのはどうですか? TextBoxコントロールは文字列をその値として受け入れます。したがって、ViewModel/Code-Behindで2倍を使用する場合は、TextBoxの文字列値を2倍に解析する値コンバーターを使用する必要があります。
コンバータは、このようなものになることができます:あなたは、「有効な値」の範囲を定義し、プロパティが
関連する問題
- 1. Vueルーター。バインドデータ
- 2. Angular2流星バインドデータthis.call
- 3. UI5:バインドデータを動的
- 4. バインドデータObjectDataSourceをラベルにする
- 5. JsonスキーマのバリデーションとJsonバリデーションのセグレゲート
- 6. Ajaxポストからコントローラへ渡されたモデルへのバインドデータ
- 7. MVCフォームのバリデーション
- 8. PHPバリデーションのトラブル
- 9. JavaScriptのJavascriptバリデーション
- 10. ノードフォームのバリデーション
- 11. フォームのバリデーションjavascript
- 12. スプリングコンフィギュレーションファイルのバリデーション
- 13. MVC.net JQueryのバリデーション
- 14. Javascriptのバリデーション
- 15. MaterialBetterSpinnerのバリデーション
- 16. PHPファイルタイプのバリデーション
- 17. @RepositoryRestControllerのバリデーション
- 18. ASP.NET jQueryのバリデーション
- 19. OOPのバリデーションPHP
- 20. バリデーションのラッピング
- 21. datetimeピッカーのバリデーション
- 22. ItemsControlのUsercontrolバリデーション
- 23. PHP strposのバリデーション
- 24. Javascriptのバリデーション
- 25. ReCAPTCHAのバリデーション
- 26. struts2のバリデーション
- 27. フォームのバリデーション
- 28. ストライプスフレームワークカスタムダイナミックフォームのバリデーション
- 29. Jqueryフォームのバリデーション
- 30. javascriptフォームのバリデーション
を変更したときに、あなたのViewModelでそれをチェックアウトすることができ、検証のため
私はそれを試してみましたが、それでも例外はスローされます。 – DCB2524
それは、それが来るときに '値'が 'ダブル'になることを期待しているので、まだ例外を投げているようです。 – DCB2524
あなたのコードと例外メッセージの関連部分を投稿してください。 –