C# 如何为错误创建类似的模板?
我在几个网站上看到过,它们使用类似以下的错误模板样式发布应用程序的一些图像: 你知道我在哪里能找到它吗?这看起来很像。 这样做的目的是在控件的定义位置上方/附近绘制一些对象,这些对象也不受应用于场景的变换的影响 例如,您可以在C# 如何为错误创建类似的模板?,c#,wpf,validation,idataerrorinfo,C#,Wpf,Validation,Idataerrorinfo,我在几个网站上看到过,它们使用类似以下的错误模板样式发布应用程序的一些图像: 你知道我在哪里能找到它吗?这看起来很像。 这样做的目的是在控件的定义位置上方/附近绘制一些对象,这些对象也不受应用于场景的变换的影响 例如,您可以在文本框的样式中定义装饰器 类似这样的内容(伪代码): ........ ........ 我刚刚创建了一个,进行了一些修补,但它可以在我的WPF测试应用程序中工作(使用.Net 4.0)。事实上,我想在我正在开发的应用程序中使用类似的东西,所以你的问题是一个方便的借口
文本框
的样式
中定义装饰器
类似这样的内容(伪代码):
........
........
我刚刚创建了一个,进行了一些修补,但它可以在我的WPF测试应用程序中工作(使用.Net 4.0)。事实上,我想在我正在开发的应用程序中使用类似的东西,所以你的问题是一个方便的借口
此代码使用Validation.ErrorTemplate
attached属性创建一个ControlTemplate
,该属性设置一个红色边框来勾勒已验证控件的轮廓,然后创建一个包含控件错误消息的弹出窗口。我必须从已验证控件的工具提示
属性中获取错误消息,因为模板中的文本框
似乎无法访问验证
类本身
当已验证控件失去焦点时,弹出错误消息关闭,当再次获得焦点时,弹出错误消息重新出现(如果有错误)
以下是一个屏幕截图:
以下是代码要点:
我愿意接受任何人提出的任何意见或改进。这真的是WPF还是一个网站?你需要做的是使用Adorners进行查找,这就是你要做的。我没有任何特定的代码(如果我有,可能会有相当多的代码),但就是这样做的。看起来错误模板只是文本框
周围的一个红色边框
,以及一个包含错误文本的弹出窗口
。弹出窗口
看起来像某种面板,具有使其变圆的拐角半径
,一种阴影
效果,一种填充
颜色,以及路径
w/填充
,但在拖动时,弹出窗口不会随窗口移动
<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>