C# 手动设置控件上的验证消息

C# 手动设置控件上的验证消息,c#,silverlight,validation,xaml,C#,Silverlight,Validation,Xaml,我试图手动设置验证消息,而不采用抛出异常的常见做法 我知道我可以手动更改控件的状态,如下所示: VisualStateManager.GoToState(this.TextBox, "InvalidFocused", true); 现在我只想手动设置错误消息。。。有人知道怎么做吗 我知道这是一个黑客,但这是我在这一点上需要的东西 有什么想法吗?这里有一个解决方案……在帖子中找到 //助手类 using System.ComponentModel.DataAnnotations; public

我试图手动设置验证消息,而不采用抛出异常的常见做法

我知道我可以手动更改控件的状态,如下所示:

VisualStateManager.GoToState(this.TextBox, "InvalidFocused", true);
现在我只想手动设置错误消息。。。有人知道怎么做吗

我知道这是一个黑客,但这是我在这一点上需要的东西


有什么想法吗?

这里有一个解决方案……在帖子中找到

//助手类

using System.ComponentModel.DataAnnotations;
public class ControlValidationHelper
{
    private string _message;

    public ControlValidationHelper(string message)
    {
        if (message == null)
        {
            throw new ArgumentNullException("message");
        }

        _message = message;
        ThrowValidationError = true;
    }

    public bool ThrowValidationError
    {
        get;
        set;
    }

    public object ValidationError
    {
        get { return null; }
        set
        {
            if (ThrowValidationError)
            {
                throw new ValidationException(_message);
            }
        }
    }
} 

这里有一个解决方案…找到帖子

//助手类

using System.ComponentModel.DataAnnotations;
public class ControlValidationHelper
{
    private string _message;

    public ControlValidationHelper(string message)
    {
        if (message == null)
        {
            throw new ArgumentNullException("message");
        }

        _message = message;
        ThrowValidationError = true;
    }

    public bool ThrowValidationError
    {
        get;
        set;
    }

    public object ValidationError
    {
        get { return null; }
        set
        {
            if (ThrowValidationError)
            {
                throw new ValidationException(_message);
            }
        }
    }
} 

您能否显示代码或更具体地说明如何设置错误消息?在XAMLI中有很多方法可以进行验证,但我仍然不明白您是如何设置错误消息的。例如,您可以有一个ErrorTemplate,其中包含文本块,您可以将errorResponse对象传递给该模板,该模板包含错误消息。但这听起来不像你走的路线。我需要了解显示错误消息的“元素”(文本块、标签、msgbox)是什么,然后才能帮助您设置它。您可以显示代码还是更具体地说明错误消息的设置方式?在XAMLI中有很多方法可以进行验证,但我仍然不明白您是如何设置错误消息的。例如,您可以有一个ErrorTemplate,其中包含文本块,您可以将errorResponse对象传递给该模板,该模板包含错误消息。但这听起来不像你走的路线。我需要了解什么“元素”显示错误消息(文本块、标签、msgbox),然后才能帮助您设置它。嘿,非常感谢您帮助我解决这个问题。关于如何在Silverlight中实现高级功能的教程非常缺乏。同样不幸的是,silverlight论坛的每个链接似乎都不再有效。嘿,非常感谢你帮我解决这个问题。关于如何在Silverlight中实现高级功能的教程非常缺乏。同样令人遗憾的是,silverlight论坛的每个链接似乎都不再有效。