4

バインドできるように依存関係プロパティを公開する PasswordBox を使用しています。問題は、このように使用すると、Binding.ValidationRules を次の構文に省略できないことです。

<PasswordBox services:RPLPasswordBoxBinder.BindPassword="True" 
             services:RPLPasswordBoxBinder.BoundPassword="{Binding Path=LoginUser.Parola, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"> 
</PasswordBox>

ValidationRules を次のようなテキスト ボックスに設定します。

<TextBox.Text>
   <Binding Path="LoginUser.Parola" UpdateSourceTrigger="PropertyChanged">
       <Binding.ValidationRules>
           <some validation rule/>
        </Binding.ValidationRules>
   </Binding>
</TextBox.Text>

ValidationRules コレクションを単一の xaml 行で PasswordBox に指定する方法はありますか? または、パスワード ボックスへのユーザー入力を検証するための別の賢い解決策があるでしょうか?

いくつかの説明:

私は MVVM を使用していますが、分離コードを使用したくありません。

ValidationRule を 1 つだけ追加したい。おそらく、Binding.ValidationRules の簡略化の問題は、このプロパティがコレクションであることです。私の状況では、1 つの検証ルールで十分です。

ここにスタックオーバーフローに関する同様の質問があります。読みやすさを向上させるだけでなく、実際に PasswordBox を検証したいので、私の問題は異なります。

4

1 に答える 1

-3

データモデルクラスをIDataErrorInfoに基づいて作成し、検証をコードビハインドではなくそこで実行することをお勧めします。

例はたくさんありますが、ここに初心者向けのものと、ここにあるものがあります

于 2011-10-24T10:20:17.143 に答える