Supponiamo di avere una classe che eredita da ValidationRule:WPF ValidationRule con proprietà di dipendenza
public class MyValidationRule : ValidationRule
{
public string ValidationType { get; set; }
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{}
}
in XAML state convalidando così:
<ComboBox.SelectedItem>
<Binding Path="MyPath" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True">
<Binding.ValidationRules>
<qmvalidation:MyValidationRule ValidationType="notnull"/>
</Binding.ValidationRules>
</Binding>
</ComboBox.SelectedItem>
che lavora e tutto è ok.
Ma supponiamo ora, si desidera avere ValidationType="{Binding MyBinding}"
dove MyBinding
viene da DataContext
.
A questo scopo avrei bisogno di fare MyValidationRule
come DependencyObject
e aggiungere una proprietà di dipendenza .
Ho provato a scrivere una classe che è DependencyObject
e collegarla. Ci sono 2 problemi però .. il ValidationRule
non ha il DataContext
dalla casella combinata/Item.
Avete qualche idea, come risolvere questo?
Grazie!