zoukankan
html css js c++ java
WPF学习笔记(数据绑定篇3)
接上回的《
WPF学习笔记(数据绑定篇2)
》,继续
BindValidation
此示例演示了:
如何使用错误模板;
使用样式显示错误信息;
如何在校验发生异常时执行回调;
首先,你可以看见XAML中使用自定义的错误模板,指定错误模板的方式是:
<
TextBox
Name
="textBox1"
Validation.ErrorTemplate
="{StaticResource validationTemplate}"
Style
="{StaticResource textBoxInError}"
>
<
TextBox
.Text
>
此错误模板我简单改造了一下,变得好看点:
<
ControlTemplate
x:Key
="validationTemplate"
>
<
DockPanel
>
<
Image
Source
="Error.jpg"
Width
="16"
Height
="16"
/>
<
AdornedElementPlaceholder
/>
</
DockPanel
>
</
ControlTemplate
>
注意这个模板是ControlTemplate(为什么是控件模板我也不知道,照葫芦画瓢),然后定义了一个布局,左边一个图像,右边一个AdornedElementPlaceholder占位符。
(我在实验时,图像如果没有加入Width和Height,在显示时图片将变得很大)。
当然,你也可以使用样式绑定到异常上来显示错误,例如:
<
Style
x:Key
="textBoxInError"
TargetType
="{x:Type TextBox}"
>
<
Style
.Triggers
>
<
Trigger
Property
="Validation.HasError"
Value
="true"
>
<
Setter
Property
="ToolTip"
Value
="{Binding RelativeSource={x:Static RelativeSource.Self},
Path=(Validation.Errors)[0].ErrorContent}"
/>
</
Trigger
>
</
Style.Triggers
>
</
Style
>
当然,例子中还显示了,如果校验时发生异常(注意:是异常不是不正确的数据),将发生回调:
BindingExpression myBindingExpression
=
textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding
=
myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter
=
new
UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();
当然,为什么是ParentBinding呢?需要想想看。
查看全文
相关阅读:
Jmeter正则表达式提取器(转载)
Jmeter(三十九)获取响应结果中参数出现的次数(转载)
JMeter3.0(三十八)图形化HTML报告中文乱码问题处理(转载)
JMeter学习(三十七)Jmeter录制手机app脚本(转载)
JMeter学习(三十六)发送HTTPS请求(转载)
JMeter学习(三十四)使用jmeter来发送json/gzip格式数据(转载)
用BlazeMeter录制JMeter(三十五)测试脚本(转载)
JMeter学习(三十三)测试报告优化(转载)
Jmeter学习(三十二)调试工具Debug Sampler(转载)
‘cmake' 不是内部或外部命令 也不是可运行的程序 或批处理文
原文地址:https://www.cnblogs.com/tansm/p/902996.html
最新文章
Codeforces Round #530 (Div. 2) F 线段树 + 树形dp(自下往上)
Codeforces Round #549 (Div. 2) E 倍增处理按排列顺序的上一个位置
Codeforces Round #549 (Div. 2) D 数学
2019浙江省赛B zoj4101 Element Swapping(推公式)
2019浙江省赛K zoj4110 Strings in the Pocket(manachar)
Codeforces Round #545 (Div. 2) D 贪心 + kmp
Educational Codeforces Round 58 (Rated for Div. 2) F dp + 优化(新坑) + 离线处理
Educational Codeforces Round 58 (Rated for Div. 2) D 树形dp(自下往上) + 数学
Codeforces Round #536 (Div. 2) F 矩阵快速幂 + bsgs(新坑) + exgcd(新坑) + 欧拉降幂
CodeForces
热门文章
十进制转换十六进制
UVA
UVA
UVA
UVA
UVA
UVA
UVA
UVA
简单web测试流程(转载)
Copyright © 2011-2022 走看看