Я не знаю, если люди решили не отвечать на этот вопрос, думая, что это глупо, или потому что они не знали ответа на вопрос. Но в любом случае, я дам решение, которое я нашел. В .net 4.0 targetHelper.TargetProperty не возвращает правильный ожидаемый тип, и вместо этого я хотел бы найти его из целевого объекта, как показано ниже
if (targetHelper != null)
{
if (targetHelper.TargetObject is Setter)
{
targetProperty = (targetHelper.TargetObject as Setter).Property;
}
}
if (targetProperty == null)
{
targetProperty = targetHelper.TargetProperty as DependencyProperty;
}