gpt4 book ai didi

wpf - 带有验证的文本框在选项卡更改时丢失 ErrorTemplate

转载 作者:行者123 更新时间:2023-12-03 08:45:15 25 4
gpt4 key购买 nike

我有一个带有验证规则的 TextBox,它位于 TabControl 的选项卡上。当验证规则失败时,默认的 ErrorTemplate 会正确显示(文本框周围的红色边框)。
但是,如果切换到另一个选项卡,然后返回带有 TextBox 的选项卡,则 ErrorTemplate 高亮显示消失。如果 TextBox 中发生更改,则仍会调用验证规则并返回 false,但仍不显示错误突出显示。
只有当文本内容变为有效然后再次变为无效时,高亮才会回来。
我希望如果文本内容无效,切换到另一个选项卡并返回保持无效突出显示。任何获得这种行为的想法都是最受欢迎的。
xml:

<TextBox Height="35" >
<TextBox.Text>
<Binding Path="pan_id" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<ps:PanIdValidation />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>

最佳答案

TabItem 应定义如下:

<TabItem Header="Foo">
<Border>
<AdornerDecorator>
<Grid>
<TextBox Height="35" >
<TextBox.Text>
<Binding Path="pan_id" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<ps:PanIdValidation />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
</Grid>
</AdornerDecorator>
</Border>
</TabItem>

问题是,Validation.Error 提示是在装饰层中绘制的。当您切换选项卡时,该层将被丢弃。

关于wpf - 带有验证的文本框在选项卡更改时丢失 ErrorTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9907075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com