WP7でWPF/Silverlightを使用していると仮定すると、他のWPF / Silverlightアプリと同様に、model-view-viewmodel(MVVM )パターンに従い、データバインディングを使用するのがおそらく最善です。
私はそれを公開するビューモデルでアプローチします:
- 「外部」(ビューに対して)と呼ばれるデータバインドされた文字列プロパティ、
FirstNumberText
または必要なもの-これはテキストボックスにバインドされるプロパティです。
FirstNumber
その場で解析し、必要な他のビジネスロジックを含む「内部」(アプリの残りの部分)の数値プロパティ。FirstNumberText
実際の数値が必要なときにこれを呼び出しますDecimal
。
これは、無効なエントリによってデータバインディングが失敗することはないため、データバインディングの組み込みの検証機能(便利な属性を含む)を簡単に使用して、入力されたテキストが空であるか不適切な場合にユーザーにわかりやすいエラーメッセージを配信できることも意味します。他の方法(負、大きすぎる/小さすぎるなど)。
ビューからコントロールを直接操作する代わりにMVVMを使用しているため、ロジックの破損をあまり気にせずに(コントロールを削除/名前変更することで)インターフェイスを根本的に変更することもできます。