A ver si alguien puede ayudarme con este temilla...
Tengo un Model que implementa la interfaz IDataErrorInfo
Tengo una caja de texto Bindada a una propiedad de mi Model, y también un CheckBox.
La idea es la siguiente, si el checkbox está checkado, la caja de texto no puede estar vacía.
Si checko el checkbox a true, y escribo algo en el textbox, y luego lo dejo blanco, ZAS, se lanza el mensaje de error, PERFECTO.
El problema es que.. tengo que escribir algo en el TextBox para que se empiece a realizar la validación.
¿Hay alguna forma desde XAML o respetando el MVVM para poder hacer que se inicie la validación inicialmente?
Os dejo como tengo los controles validados:
<!-- LA IDEA ES QUE AL HACER CHECK EN EL CHECKBOX, AL NO HABERSE ESCRITO NADA EN LA CAJA DE TEXTO, DEBERÍA SALIR YA EL MENSAJE DE ERROR, SIN TENER QUE ESPERAR A ESCRIBIR NADA EN LA CAJA DE TEXTO -->
Código XML:
Ver original
 <CheckBox Grid.Column="0" Name="chkSaveTif" IsChecked="{Binding ExifModel.GenerateTiff, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" Content="Guardar Tif Generado" /> <TextBox Grid.Column="1" IsEnabled="{Binding ElementName=chkSaveTif, Path=IsChecked}" Name="txtFileName" Text="{Binding ExifModel.FileName, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, ValidatesOnExceptions=True}" ToolTip="{Binding ElementName=txtFileName, Path=(Validation.Errors)[0].ErrorContent}" />
Les dejo también la parte del código del Model que realiza la validación.
Código:
  
         public string this[string columnName]
        {
            get
            {
                string errorResult = string.Empty;
                switch (columnName)
                {
                    case "FileName":
                        if (GenerateTiff && string.IsNullOrEmpty(FileName)) errorResult += "Debes indicar un nombre para el archivo a guardar. \r\n El fichero debe tener una extensión .TIF";
                        if (GenerateTiff && !string.IsNullOrEmpty(FileName) && !FileName.ToLower().EndsWith(".tif")) errorResult += "El fichero debe tener una extensión .TIF";
                        break;
                    case "GenerateTiff":
                        if (!GenerateTiff) errorResult = string.Empty;
                        break;
                }
                return errorResult;
            }
        }
 

