tutorial etiquetas español ejemplos comentarios wpf validation xaml namespaces

wpf - etiquetas - xaml c# tutorial español



¿Cómo declarar un espacio de nombres en WPF XAML? (1)

Estoy tratando de utilizar en WPF una entrada de validación de controles de datos con reglas de validación. En el código detrás del archivo de una ventana wpf tengo una clase:

public class posintValidationRule : ValidationRule { public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo) { string _strInt = value.ToString(); int _int = -1; if (!Int32.TryParse(_strInt, out _int)) return new ValidationResult(false, "Value must be an integer"); if (_int < 0) return new ValidationResult(false, "Value must be positive"); return new ValidationResult(true, null); } }

En XAML también hay una plantilla de error de estilo.

Cuando coloco un cuadro de texto con validación en XAML:

<TextBox.Text> <Binding Path="seconds" UpdateSourceTrigger="PropertyChanged"> <Binding.ValidationRules> <local:posintValidationRule/> </Binding.ValidationRules> </Binding> </TextBox.Text>

Obtengo un error de tiempo de compilación: '''' local ''es un espacio de nombres no declarado.'' XML no es válido

¿Cómo debería declarar local:posintValidationRule en mi XAML?


En la parte superior de su archivo XAML, debe declarar cuál es su espacio de nombres "local"; junto con las cosas predeterminadas de Microsoft XAML. Algo como esto:

xmlns:local="clr-namespace:YourApplication"

Tenga en cuenta que esto supone que "posintValidationRule" se define en el espacio de nombres raíz en "YourApplication".