テキストボックスがあるWPFユーザーコントロールがあります。これは、実行時に生成されるビューモデルにバインドされます。
私のビューモデルは次のようになります。
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>
..しかし、ビューモデルとバリデータが動的に作成されるため、それを行うことはできません。XAML でこれを行う方法はありますか。ビューモデルのプロパティに検証ルールをバインドするようなものですか? 私は.NET 3.5を使用していることに注意してください。
ありがとう -マイク