diff --git a/src/Markup/Perspex.Markup/Data/Plugins/PerspexPropertyAccessorPlugin.cs b/src/Markup/Perspex.Markup/Data/Plugins/PerspexPropertyAccessorPlugin.cs
index b8e7cadfc1..61f05ce4f2 100644
--- a/src/Markup/Perspex.Markup/Data/Plugins/PerspexPropertyAccessorPlugin.cs
+++ b/src/Markup/Perspex.Markup/Data/Plugins/PerspexPropertyAccessorPlugin.cs
@@ -74,7 +74,7 @@ namespace Perspex.Markup.Data.Plugins
_reference = reference;
_property = property;
- _subscription = Instance.GetObservable(property).Skip(1).Subscribe(changed);
+ _subscription = Instance.GetWeakObservable(property).Skip(1).Subscribe(changed);
}
public PerspexObject Instance
diff --git a/src/Perspex.Base/PerspexObjectExtensions.cs b/src/Perspex.Base/PerspexObjectExtensions.cs
index dc0a6b6465..fcb4e8dc32 100644
--- a/src/Perspex.Base/PerspexObjectExtensions.cs
+++ b/src/Perspex.Base/PerspexObjectExtensions.cs
@@ -164,6 +164,23 @@ namespace Perspex
return result;
}
+ ///
+ /// Gets a weak observable for a .
+ ///
+ /// The object.
+ /// The property.
+ /// An observable.
+ public static IObservable