绑定到ValidationRule

时间:2013-04-12 16:10:04

标签: c# wpf

我有一个WPF用户控件,其中有一个文本框。这绑定到在运行时生成的视图模型。

我的Viewmodel看起来像这样:

public class MyViewModel
{
    private readonly IValidationRule _validationRule;

    public MyViewModel(IValidationRule validationRule)
    {
        _validationRule = validationRule;
    }

    public IValidationRule ValidationRule { get; set; }
}

public interface IValidationRule
{
}

internal class MyValidationRule:ValidationRule,IValidationRule
{
    public override ValidationResult Validate(object value, CultureInfo cultureInfo)
    {
        throw new NotImplementedException();
    }
}

我需要将属性ValidationRule绑定到文本框。我可以通过指定类型轻松地完成此操作:

<TextBox Name="UploadsLoginsTextBox" MinWidth="30">
    <TextBox.Text>
        <Binding Path="MaxUp" Mode="TwoWay" NotifyOnValidationError="True">
            <Binding.ValidationRules>
                <Validators:MyValidationRule/>
            </Binding.ValidationRules>
        </Binding>
    </TextBox.Text>
</TextBox>

..但是由于我的viewmodel因此我的验证器是动态创建的,所以我无法做到。有没有办法在XAML中做到这一点。像验证规则绑定到viewmodel中的属性?请注意我使用的是.NET 3.5。

谢谢, -Mike

0 个答案:

没有答案