2011-08-22 18 views
8

Tôi có một TextBox bị ràng buộc với một số tài sản. Tôi đã triển khai IDataErrorInfo để thực hiện xác thực. Gần đây tôi đã nhìn thấy một số kiểm soát trong trang web cho thấy một lỗi giống như một hình tam giác màu đỏ. Tôi có kèm theo mẫu dưới đây:Trong WPF, Làm thế nào để hiển thị lỗi xác thực trong TextBox như hình dưới đây?

enter image description here

Tôi biết tôi phải viết mẫu lỗi để hiển thị này bất cứ khi nào gặp lỗi. Khi người dùng di chuyển tam giác màu đỏ, nó sẽ hiển thị thông báo lỗi trong ToolTip. Làm cách nào để hiển thị hộp văn bản lỗi giống như hộp tôi đã tải lên. Làm thế nào để có được tam giác màu đỏ trong mẫu lỗi?

Trả lời

13

Dưới đây là một ví dụ mà trông như thế này

enter image description here

Sử dụng nó như

<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> 
Các vấn đề liên quan