2010-01-22 19 views
5

Experimentando con WPF validar la entrada, me trató de utilizar información sobre herramientas para mostrar los resultados de la validación de entrada Cuadro de texto, así:WPF cuadro de texto validar los resultados sobre herramientas

<Style.Triggers> 
<Trigger Property="Validation.HasError" Value="true"> 
    <Setter 
     Property="ToolTip" 
     Value="{Binding RelativeSource={RelativeSource Self}, 
     Path=(Validation.Errors)[0].ErrorContent}"/> 
    </Trigger> 
</Style.Triggers> 

Parecía para mí muy inconveniente, que sobre herramientas no se muestra en el proceso de escribir texto en el cuadro de texto, en el momento en que se produce la validación del error, pero solo después de colocar el puntero del mouse intencionalmente sobre el cuadro de texto.

Esto parece violar las expectativas del usuario con respecto a la usabilidad de la IU, por lo que preferí poner los resultados del Error de validación en un TextBlock por separado, apareciendo automáticamente e instantáneamente, cuando se produce un error de validación de entrada.

¿Pero tal vez estoy equivocado y no uso la información sobre herramientas correctamente? ¿Tal vez hay configuraciones de propiedades ToolTip que hacen que ToolTip pueda aparecer sin pasar por mouse intencionalmente sobre TextBox?

Editado (añade):

El uso de información sobre herramientas para mostrar los resultados de la validación de entrada cuadro de texto que he encontrado en la documentación de Microsoft MSDN:

http://msdn.microsoft.com/en-us/library/ms752347.aspx#data_validation

¿Utiliza la información sobre herramientas para mostrar los errores de validación ? Si es así, ¿cómo te llevas bien con el hecho de que el usuario nunca puede verlo (si él/ella no adivina pasar el mouse sobre un cuadro de texto)?

Respuesta

5

Creo que está usando información sobre herramientas de manera incorrecta, la propiedad ToolTip está destinada a proporcionar ayuda contextual al usuario acerca de un cierto control cuando pasan el mouse sobre él, es por eso que solo aparece en los mouse-overs.

Por ejemplo, si tiene un cuadro de texto para que un usuario ingrese su número de teléfono, puede proporcionar una información sobre herramientas que diga "Escriba aquí su número de teléfono".

Para la validación de formularios, su idea de TextBlock suena mucho mejor. Además, tiene un gran control sobre la pantalla ya que es un control de vuelo completo.

+1

Gracias, Patrick! El hecho es que el uso de la información sobre herramientas para mostrar los resultados de la validación de entrada de TextBox se puede encontrar en la documentación de Microsoft MSDN. He agregado un enlace a mi pregunta editada. – rem

+0

Huh, nunca había visto ToolTip usado así. Gracias por el enlace rem! –

Cuestiones relacionadas