1

テキストボックスがある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を使用していることに注意してください。

ありがとう -マイク

4

0 に答える 0