2011-10-24 4 views
3

私はバインドできるように依存関係プロパティを公開するPasswordBoxを使用しています。問題は、そのようにそれを使用することによって、私はこの構文にBinding.ValidationRulesを速記することができないということです。ValidationRulesを単一のxaml行に追加するか、または簡略化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> 

にどのような方法があります単一のxaml行にPasswordBoxのValidationRulesコレクションを指定しますか?または、パスワードボックスにユーザー入力を検証する別の賢明なソリューションがありますか?

いくつかの説明: 私はMVVMを使用しており、コードを使用したくありません。

1つのValidationRuleを追加したいとします。おそらく、Binding.ValidationRulesを短くする問題は、このプロパティがコレクションであることです。私の状況では、1つのバリデーションで十分です。

stackoverflow hereにも同様の質問があります。私は私の担当者がそこにコメントすることを許可していないので、同様の質問をしています。私の問題は、読みやすさを増やしたいだけでなく、実際に私のPasswordBoxを検証したいからです。

事前に感謝します。

答えて

0

データモデルクラスをIDataErrorInfoに基づいて検証することをお勧めします。

多くの例がありますが、here's one for startersと別のhereです。

+0

チャームのように働いた。しかし初心者の方には、[this msdn link](http://msdn.microsoft.com/en-us/library/system.componentmodel.idataerrorinfo(v = vs95).aspx)を参考にしてください。私は読んだり再現した方が簡単だと分かった。 –

関連する問題