は、私はいくつかのパネル上に2つのコントロールを持っているフォースIDataErrorInfo検証
<TextBox Text="{Binding ShapeName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
<ComboBox SelectedItem="{Binding ActiveStageViewModel, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
私はコンボボックスの上に何かを選択すると、テキストボックスのためidataerrorinfo検証を強制する必要があります。どうやってするか?
のviewmodelからコード:
string IDataErrorInfo.this[string propertyName]
{
get
{
var error = string.Empty;
if (propertyName == Expression.GetPropertyName(() => ActiveStageViewModel))
{
// TODO: Add functionality to force ShapeName property validation
return error;
}
if (propertyName == Expression.GetPropertyName(() => ShapeName))
{
error = ValidateShapeName();
}
TooltipMessage = error;
return error;
}
}
yea ... NotifyPropertyChanged works)前に試したことがありますが、双方向モードを忘れてしまいました... –
ActiveStageViewModelより[AlsoNotifyFor( "ShapeName")]を使用しました – MartinaLabMath
私の場合は'TabControl'を持っていて、最後のタブで初めてsaveをクリックすると' NotifyPropertyChanged'が発生し、エラーが表示されます。しかし、別のタブに戻って最後のタブに戻ってきたら、 'NotifyPropertyChanged'を呼び出すことはできません。エラーテンプレートは表示されません。どんな洞察? – JobaDiniz