私は一連の電子メールアドレスを示すListBoxを持つSilverlightコントロールを持っています。データソースは、ViewModel内の文字列のObservableCollection(電子メールごとに1つ)です。十分に簡単!Silverlight検証の問題
データテンプレートをTextBlockからTextBoxに変更することで、リストのインプレイス編集を双方向バインディングで許可したかったのです。
問題は次のとおりです。ユーザー編集が有効なメールアドレスであることを確認するにはどうすればよいですか?
有効でない限り、バインドされたテキストをリストに保存したくありません。それは文字列にバインドされているので、私は例外をスローすることはできませんので、変更するSetメソッドはありません。
私が考えることができる唯一の解決策は、値を検証できるように単一のEmailプロパティを持つダミークラスを作成することです。それが最善の方法だとは思えません。
ListBoxがバインドしている__Exact__タイプは何ですか? – AnthonyWJones
バインディングは、DataContextが{Binding Path = EmailList}に設定されたListBoxです。 EmailListは: public ObservableCollection EmailList {get;セット; } ListBoxテンプレートには{Binding}にバインドされた単一のTextBoundがあります –
Quango