2011-08-22 12 views
8

Tengo un TextBox vinculado a alguna propiedad. Implementé IDataErrorInfo para realizar la validación. Recientemente estaba viendo cierto control en la web que muestra un error como un triángulo rojo. He adjuntado a continuación la muestra:En WPF, ¿Cómo mostrar el error de validación en TextBox como la imagen de abajo?

enter image description here

sé que tengo para escribir la plantilla de error para mostrar esto cada vez que se produce un error. Cuando el usuario coloca el triángulo rojo, mostrará el mensaje de error en la información sobre herramientas. ¿Cómo puedo mostrar un cuadro de texto de error como el que he subido? ¿Cómo obtener el triángulo rojo en la plantilla de error?

Respuesta

13

Aquí se muestra un ejemplo que tiene este aspecto

enter image description here

usarlo como

<TextBox Validation.ErrorTemplate="{StaticResource topRightCornerErrorTemplate}" 
     .../> 

ErrorTemplate

<ControlTemplate x:Key="topRightCornerErrorTemplate"> 
    <Grid> 
     <Polygon Points="40,20 40,0 0,0" 
       Stroke="Black" 
       StrokeThickness="1" 
       Fill="Red" 
       HorizontalAlignment="Right" 
       VerticalAlignment="Top" 
       ToolTip="{Binding ElementName=adorner, 
            Path=AdornedElement.(Validation.Errors)[0].ErrorContent}"/> 
     <AdornedElementPlaceholder x:Name="adorner"/> 
    </Grid> 
</ControlTemplate> 
Cuestiones relacionadas