Browse Source

Use GetRuntimeProperty here.

As it automatically looks in base classes.
pull/297/head
Steven Kirk 11 years ago
parent
commit
3cda7774c5
  1. 23
      src/Markup/Perspex.Markup/Binding/PropertyAccessorNode.cs

23
src/Markup/Perspex.Markup/Binding/PropertyAccessorNode.cs

@ -49,7 +49,7 @@ namespace Perspex.Markup.Binding
if (target != null)
{
_propertyInfo = FindProperty(target, PropertyName);
_propertyInfo = target.GetType().GetRuntimeProperty(PropertyName);
if (_propertyInfo != null)
{
@ -87,27 +87,6 @@ namespace Perspex.Markup.Binding
_propertyInfo = null;
}
private static PropertyInfo FindProperty(object target, string propertyName)
{
var typeInfo = target.GetType().GetTypeInfo();
do
{
var result = typeInfo.GetDeclaredProperty(propertyName);
if (result != null)
{
return result;
}
else
{
typeInfo = typeInfo.BaseType?.GetTypeInfo();
}
} while (typeInfo != null);
return null;
}
private void ReadValue(object target)
{
var value = _propertyInfo.GetValue(target);

Loading…
Cancel
Save