我有一个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