我有一个 WPF 应用程序,其中有一个 TabControl,并且在某个选项卡内有一个带有验证规则的 TextBox。验证规则运行良好,转换器运行良好,绑定正常......
我有一个 WPF 应用程序,其中有一个 TabControl
,并且在某个选项卡内有一个 TextBox
带有验证规则的。
验证规则运行良好,转换器运行良好,绑定也正常。
但是当我这样做时会出现一个非常烦人的错误(可能是 WPF 本身的问题):
-
输入无效文本(验证通过,文本框出现红色边框)
-
切换到另一个选项卡
-
返回到带有文本框的选项卡。
验证完全停止工作,直到我输入 有效的 文本,然后它才重新开始工作。更改文本是不够的,只有在我输入有效的文本时它才会重新开始工作。
当我进入标签时,如何强制重新验证文本?
我已经尝试了 这里列出的 ,但它们似乎没有带来红色边框:
-
事件中
Selector.Selected
(检查它是否被调用),添加 txtName.GetBindingExpression(TextBox.TextProperty).UpdateSource();
-
在验证规则中
ValidatesOnTargetUpdated="True"
使用该
如果需要的话,这是 XAML 的简短描述:
<TabControl ...>
<TabItem ... />
<TabItem ...>
...
<TextBox Name="txtName" ...>
<TextBox.Text>
<Binding Path="..."
UpdateSourceTrigger="PropertyChanged"
Mode="OneWayToSource"
FallbackValue="5"
Converter="MyCustomConverterWorkingOk">
<Binding.ValidationRules>
<local:MyCustomValidationWorkingOk/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
</TabItem>
</TabControl>
更改选项卡时 WPF 验证停止工作
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!