【问题标题】:WPF TextBox Error Message Visible and Doesn't Disappears When Text Written in TextBoxWPF TextBox 错误消息可见且在 TextBox 中写入文本时不会消失
【发布时间】:2019-12-13 06:36:59
【问题描述】:

当我在 TextBox 中构建和运行代码时已经显示错误消息,并且在 TextBox 中写入文本时不会消失 我正在使用 Visual Studio 社区版 2017 我正在使用 MaterialDesignThemes 版本 2.6.0

我使用了 DemoApp 中的 TextBox 代码

<TextBox
    x:Name="NameTextBox"
    materialDesign:HintAssist.Hint="Name"
    VerticalAlignment="Top"
    HorizontalAlignment="Center"
    Width="200">
    <TextBox.Text>
        <Binding
            Path="Name"
            UpdateSourceTrigger="PropertyChanged">
            <Binding.ValidationRules>
                <rules:NotEmptyValidationRule
                    ValidatesOnTargetUpdated="True"
                    xmlns:rules="clr-namespace:Spirit.Domain" />
            </Binding.ValidationRules>
        </Binding>
    </TextBox.Text>
</TextBox>

这是在 Spirit.Domain 命名空间中定义的 My NotEmptyValidationRule,它是演示应用程序中验证规则的副本

public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
    return string.IsNullOrWhiteSpace((value ?? "").ToString())
        ? new ValidationResult(false, "Field is required.")
        : ValidationResult.ValidResult;
}

我还添加了gif

请提供解决错误的demo或详细步骤

【问题讨论】:

  • 您好!欢迎来到 SO。这能回答你的问题吗?stackoverflow.com/questions/41366087/…
  • 您的 Name 属性是如何定义的?它会引发 PropertyChanged 事件吗?
  • 感谢@Gleb 问题已解决...

标签: c# wpf material-design


【解决方案1】:

只需在绑定中使用的 Name 属性上添加 PropertyChanged 事件..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多