gpt4 book ai didi

wpf - 验证文本框 : red border does not always appear on invalid results

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

我有一个绑定(bind)到需要值的属性的文本框,即:

 [Required(ErrorMessage = "required value")]
public string SomeText
{
//get set...
}

在我的 XAML 中,我的文本框有以下设置:
 UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=true, ValidatesOnExceptions=true

正如预期的那样,当文本框中没有值时会出现红色边框,但是当我选择不同的选项卡然后返回到无效结果的页面时,红色边框不再出现。只有当我输入一个有效的结果然后删除它时它才会重新出现。

我该如何调试呢?如何找出导致红色边框出现的事件?

最佳答案

您可以简单地将标签的内容放入 AdornerDecorator 标签:

<TabControl>
<TabItem>

<AdornerDecorator>

<ContentControl Content="{Binding TabItemViewModel}" />
<Grid>
<!-- Other Stuff -->
</Grid>

</AdornerDecorator>

</TabItem>
</TabControl>

更新:

AdornerDecorator 不会在不可见的控件上呈现边框(在未选择的选项卡中)。一旦边界已经呈现,它只会跨选项卡保留边界。

但是,Dana Cartwright 上面的代码运行良好。您只需输入 清除无效 之前 标记无效 正如 lost_bits1110 所指出的:
Validation.ClearInvalid((BindingExpressionBase)error.BindingInError);
Validation.MarkInvalid((BindingExpressionBase)error.BindingInError, error);

关于wpf - 验证文本框 : red border does not always appear on invalid results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7601055/

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