我在几个网站上看到过使用ErrorTemplate样式发布其应用程序的一些图像,如下所示:
你知道我在哪里可以找到它吗?
答案 0 :(得分:5)
我只是鞭打了一下,稍微修改了一下但是它在我的WPF测试应用程序中运行(使用.Net 4.0)。对于我正在处理的应用程序,我实际上想要这样的东西,所以你的问题是一个方便的借口来制作一个。 =)
此代码使用Validation.ErrorTemplate
附加属性创建ControlTemplate
,设置红色边框以概述已验证的控件,然后创建包含控件错误消息的Popup
。我必须从经过验证的控件的ToolTip
属性中获取错误消息,因为模板中的TextBox
似乎无法访问Validation
类本身。
当验证的控件失去焦点时,弹出错误消息将关闭,并在再次获得焦点时重新出现(如果有错误)。
这是一个截图:
以下是要点代码:https://gist.github.com/1672789
我愿意接受任何人提出的任何意见或改进。
答案 1 :(得分:1)
这看起来很像Adorner。 这个想法是在控件上方/附近绘制一些东西,其中定义的内容也不会受到应用于场景的变换的影响。
例如,您可以在Style
的{{1}}中定义装饰工具。
像这样的东西(伪代码):
TextBox
一个完整的例子(对于<Style TargetType="{x:Type TextBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ScrollViewer}">
........
........
<AdornerDecorator Grid.Column="0" Grid.Row="0">
.........
.........
</AdorenrDecorator>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
,但是ides是相同的)可以找到here