1

[Required]属性が設定されている(または[ReferenceKey])参照プロパティを検証するためにIDataErrorInfoを取得できず、初期値としてnullが含まれています。WPF +EF4.1を使用しています。検証は、データ注釈とIDataErrorInfoを介して行われます。nullを含めることができない参照プロパティを除いて、プロパティごとにすべてが正常に機能しています。このプロパティは次のとおりです。このプロパティにはデフォルト値としてnullが含まれており、他の値に設定することはできません。

これは実際には、this [string propertyName]が参照プロパティに対して実行されることはないため、UIが検証エラーをキャッチしないことを意味します。このプロパティが検証されているかどうかを確認するためだけに[Required]属性を継承しました。これは、必要に応じて無効であると返しますが、IDataErrorInfoはこれをまったく認識していません。

UIでの参照プロパティの実装の例

<ComboBox DisplayMemberPath="Name"
          ItemsSource="{Binding UnitList}"
          SelectedValue="{Binding CurrentItem.UnitId, Mode=TwoWay, ValidatesOnExceptions=True, ValidatesOnDataErrors=True, NotifyOnValidationError=True}"
          SelectedValuePath="Id" />

この問題を克服するために何ができますか?

4

1 に答える 1

0

私が見つけた回避策は、SelectedValue の代わりに SelectedItem を使用することです。

于 2012-09-20T20:07:26.903 に答える