Предположим, что у вас есть класс, наследующий от ValidationRule:
public class MyValidationRule : ValidationRule
{
public string ValidationType { get; set; }
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{}
}
в XAML, который вы проверяете следующим образом:
<ComboBox.SelectedItem>
<Binding Path="MyPath" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True">
<Binding.ValidationRules>
<qmvalidation:MyValidationRule ValidationType="notnull"/>
</Binding.ValidationRules>
</Binding>
</ComboBox.SelectedItem>
Что работает, и все в порядке.
Но предположим, теперь вы хотите иметь ValidationType="{Binding MyBinding}"
, где MyBinding
происходит от DataContext
.
Для этого мне нужно сделать MyValidationRule
как DependencyObject
и добавить Свойство зависимостей.
Я попытался написать класс DependencyObject
и связать его. Есть 2 проблемы, хотя.. ValidationRule
НЕ имеет DataContext
из Combobox/Item.
Есть ли у вас какие-либо идеи, как это решить?
Спасибо!