Ho due controlli su qualche pannello: TextBox e ComboBox:Forza IDataErrorInfo convalida
<TextBox Text="{Binding ShapeName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
<ComboBox SelectedItem="{Binding ActiveStageViewModel, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
ho bisogno di forzare IDataErrorInfo convalida per casella di testo, quando seleziono qualcosa sulla casella combinata. Come farlo?
Il codice da 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 lavori) ho provato prima, ma dimenticato circa due modalità modo ... –
Ho usato [AlsoNotifyFor ("shapename")] nel corso ActiveStageViewModel – MartinaLabMath
Funziona un pò ... Nel mio caso ho avere un 'TabControl' e nell'ultima scheda quando l'utente fa clic per la prima volta, si solleva' NotifyPropertyChanged' e viene visualizzato l'errore. Tuttavia, quando torno in un'altra scheda e torno di nuovo all'ultima scheda, sollevando 'NotifyPropertyChanged' non funziona, non viene mostrato alcun modello di errore. Qualche intuizione? – JobaDiniz