diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/XamlObjectServiceProvider.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/XamlObjectServiceProvider.cs index 523c477125..9bb120195f 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/XamlObjectServiceProvider.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.XamlDom/Project/XamlObjectServiceProvider.cs @@ -56,14 +56,34 @@ namespace ICSharpCode.WpfDesign.XamlDom /// Gets the target object (the DependencyObject instance on which a property should be set) /// public object TargetObject { - get { return XamlObject.ParentProperty.ParentObject.Instance; } + get { + var parentProperty = XamlObject.ParentProperty; + + if (parentProperty == null) { + return null; + } + + if (parentProperty.IsCollection) { + return parentProperty.ValueOnInstance; + } + + return parentProperty.ParentObject.Instance; + } } /// /// Gets the target dependency property. /// public object TargetProperty { - get { return XamlObject.ParentProperty.DependencyProperty; } + get { + var parentProperty = XamlObject.ParentProperty; + + if (parentProperty == null) { + return null; + } + + return parentProperty.DependencyProperty; + } } #endregion