protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e)
{
base.OnPropertyChanged(e);
if (e.IsAValueChange || e.IsASubPropertyChange)
{
DependencyProperty dp = e.Property;
// We lookup the property in our invalidatorMap
// and call the appropriate method to push
// down the changed value to the hosted ActiveX control.
if (dp != null && invalidatorMap.ContainsKey(dp))
{
PropertyInvalidator invalidator = (PropertyInvalidator)invalidatorMap[dp];
invalidator(this);
}
}
}