Browse Source

Prevent IndexOutOfRangeException in data binding.

pull/100/head
Steven Kirk 11 years ago
parent
commit
c77ee3aa47
  1. 6
      src/Markup/Perspex.Markup.Xaml/DataBinding/ChangeTracking/ObservablePropertyBranch.cs

6
src/Markup/Perspex.Markup.Xaml/DataBinding/ChangeTracking/ObservablePropertyBranch.cs

@ -66,7 +66,11 @@ namespace Perspex.Markup.Xaml.DataBinding.ChangeTracking
var currentObjectTypeInfo = current.GetType().GetTypeInfo(); var currentObjectTypeInfo = current.GetType().GetTypeInfo();
var nextProperty = currentObjectTypeInfo.GetDeclaredProperty(nextPropertyName); var nextProperty = currentObjectTypeInfo.GetDeclaredProperty(nextPropertyName);
var nextInstance = nextProperty.GetValue(current); var nextInstance = nextProperty.GetValue(current);
subscriptions.AddRange(this.GetSubscriptionsRecursive(nextInstance, propertyPath, i + 1));
if (i < this.propertyPath.Chunks.Length - 1)
{
subscriptions.AddRange(this.GetSubscriptionsRecursive(nextInstance, propertyPath, i + 1));
}
} }
return subscriptions; return subscriptions;

Loading…
Cancel
Save