Tengo un cuadro de texto cuyo valor se aglutinaba a un modelo de vista de la propiedad:valor de TextBox de WPF no cambia en OnPropertyChanged
<TextBox Name="txtRunAfter" Grid.Column="4" Text="{Binding Mode=TwoWay, Path=RunAfter}" Style="{StaticResource TestStepTextBox}"/>
El conjunto y se les estaban trabajando bien hasta que he intentado añadir un poco de validación cuando el valor es set:
private int _runAfter = 0;
public string RunAfter
{
get
{
return _runAfter.ToString();
}
set
{
int val = int.Parse(value);
if (_runAfter != val)
{
if (val < _order)
_runAfter = val;
else
{
_runAfter = 0;
OnPropertyChanged("RunAfter");
}
}
}
}
Aunque se alcanza el OnPropertyChanged (he dubugged eso), la vista no se cambia. ¿Cómo puedo hacer que esto funcione?
Gracias, José Tavares
Supongo que su evaluación del problema es correcta, pero la llamada del operador no funciona. Mi UserControl se usa dentro de una aplicación WinForm usando ElementHost. ¿Esto puede afectar la llamada de Dispatcher? – jpsstavares
De acuerdo, probé esto y funcionó bien (cuando se aleja del TextBox como el modo predeterminado de la vinculación no actualizará la propiedad hasta que TextBox pierda el foco). Actualicé la respuesta para explicar sobre UpdateSourceTrigger en los enlaces, en caso de que ese sea el comportamiento que estás viendo. No trato mucho con WPF alojado en WinForms, pero no veo por qué eso afectaría a Binding o Dispatcher en su contexto. –