2010-01-22 31 views
5

與WPF驗證輸入進行實驗,我試圖用工具提示,用於顯示文本框輸入驗證的結果,這樣的:WPF的TextBox驗證結果的工具提示

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

這似乎對我來說非常不方便,那工具提示中顯示不在發生驗證錯誤時,在文本框中輸入文本的過程,但只有在鼠標指針有意地放在文本框之後。

這似乎違反了用戶對UI可用性的期望,所以我最好將驗證錯誤結果放在單獨的TextBlock中,當輸入驗證錯誤發生時,此時自動立即出現。

但也許我錯了,不正確地使用ToolTip?也許有工具提示屬性的設置使得工具提示能夠出現而不用在TextBox上有意的鼠標懸停?

編輯(添加):

使用工具提示,用於顯示文本框輸入驗證的結果我微軟MSDN文檔中發現:

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

你使用工具提示用於顯示驗證錯誤?如果是這樣,你如何相信用戶永遠不會看到它(如果他/她沒有猜測把鼠標懸停在文本框上)?

回答

5

我相信你正在使用的工具提示錯誤的方式,工具提示屬性意味着提供關於某個控制用戶小上下文幫助時,他們將其鼠標在它,這就是爲什麼它只是在鼠標懸停出現。

例如,如果您有一個用戶輸入電話號碼的文本框,您可能希望提供一個工具提示「請在此輸入您的電話號碼」。

對於表單驗證,您的TextBlock想法聽起來好多了。另外,你可以很好地控制顯示器,因爲它完全控制。

+1

謝謝,帕特里克!事實上,使用ToolTip顯示TextBox輸入驗證的結果可以在Microsoft MSDN文檔中找到。我已經添加了一個鏈接到我編輯的問題。 – rem 2010-01-23 16:52:08

+0

呵呵,我從來沒有見過像這樣使用ToolTip。感謝您的鏈接rem! – 2010-01-25 13:42:49