Estoy intentando validar el formulario WPF contra un objeto. La validación se dispara cuando escribo algo en el recuadro de texto pierdo el foco vuelve al cuadro de texto y luego borro todo lo que he escrito. Pero si solo carga la aplicación WPF y la pestaña del cuadro de texto sin escribir y borrar nada del cuadro de texto, entonces no se dispara.Validación WPF que no se activa en el primer LostFocus del TextBox
Aquí es la clase Customer.cs:
public class Customer : IDataErrorInfo
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Error
{
get { throw new NotImplementedException(); }
}
public string this[string columnName]
{
get
{
string result = null;
if (columnName.Equals("FirstName"))
{
if (String.IsNullOrEmpty(FirstName))
{
result = "FirstName cannot be null or empty";
}
}
else if (columnName.Equals("LastName"))
{
if (String.IsNullOrEmpty(LastName))
{
result = "LastName cannot be null or empty";
}
}
return result;
}
}
}
Y aquí está el código de WPF:
<TextBlock Grid.Row="1" Margin="10" Grid.Column="0">LastName</TextBlock>
<TextBox Style="{StaticResource textBoxStyle}" Name="txtLastName" Margin="10"
VerticalAlignment="Top" Grid.Row="1" Grid.Column="1">
<Binding Source="{StaticResource CustomerKey}" Path="LastName"
ValidatesOnExceptions="True" ValidatesOnDataErrors="True"
UpdateSourceTrigger="LostFocus"/>
</TextBox>
+1 ¡Solución inteligente! –
Desafortunadamente, esto se puede aplicar con la lógica MVVM. ¿Alguna pista sobre cómo hacerlo cuando no quieres modificar tu código? – FanaticD