2011-08-22 59 views
8

我有一個TextBox綁定到一些屬性。我已經實現了用於執行驗證的IDataErrorInfo。最近我看到一些網絡控制,顯示了一個像紅色三角形的錯誤。 我已附加下面的示例:在WPF中,如何在TextBox中顯示驗證錯誤,如下圖所示?

enter image description here

我知道我必須寫錯誤模板每當發生錯誤顯示這些。當用戶懸停紅色三角形時,它將在ToolTip中顯示錯誤消息。如何顯示錯誤文本框,如我上傳的錯誤文本框。如何獲取錯誤模板中的紅色三角形?

回答

13

這裏看起來像這樣

enter image description here

使用它像

<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> 
爲例
相關問題