WPF 数据验证失效 Validation Fail on TabControl

最近发现在TabControl 中使用数据验证有个特别闹心的情况,就是在切换TabItem后验证效果居然没有了!!!

关键是红色的框框也没有了!!!

TabItem01 块代码是优化后的,使用AdornerDecorator 作为TabItem顶层装饰器即可解决这个问题。

TabItem02 块代码是有问题的,切换TabItem后验证会失效。

网上查了资料 看歪果仁是这么解决的,实在没有找到根本原因。以后有空在研究吧 哈哈

 <Grid>
        <TabControl>
            <TabItem Header="TabItem01">
                <AdornerDecorator>
                    <Grid>
                        <TextBox Width="100" Height="30" HorizontalAlignment="Left" VerticalAlignment="Top">
                            <TextBox.Text>
                                <Binding Path="UserName" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="True" >
                                    <Binding.ValidationRules>
                                        <rule:StringValidationRule MinLen="5" MaxLen="10"/>
                                    </Binding.ValidationRules>
                                </Binding>
                            </TextBox.Text>
                        </TextBox>
                    </Grid>
                </AdornerDecorator>
            </TabItem>
            <TabItem Header="TabItem02">               
                    <Grid>
                        <TextBox Width="100" Height="30" HorizontalAlignment="Left" VerticalAlignment="Top">
                            <TextBox.Text>
                                <Binding Path="Address" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="True" >
                                    <Binding.ValidationRules>
                                        <rule:StringValidationRule MinLen="5" MaxLen="10"/>
                                    </Binding.ValidationRules>
                                </Binding>
                            </TextBox.Text>
                        </TextBox>
                    </Grid>                
            </TabItem>
        </TabControl>
    </Grid>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值