diff --git a/src/Markup/Perspex.Markup/Binding/ExpressionObserver.cs b/src/Markup/Perspex.Markup/Binding/ExpressionObserver.cs
index fc7a4b2663..ff98e82aeb 100644
--- a/src/Markup/Perspex.Markup/Binding/ExpressionObserver.cs
+++ b/src/Markup/Perspex.Markup/Binding/ExpressionObserver.cs
@@ -10,7 +10,7 @@ namespace Perspex.Markup.Binding
///
/// Observes and sets the value of an expression on an object.
///
- public class ExpressionObserver : ObservableBase
+ public class ExpressionObserver : ObservableBase, IDescription
{
private object _root;
private int _count;
@@ -25,6 +25,7 @@ namespace Perspex.Markup.Binding
{
_root = root;
_node = ExpressionNodeBuilder.Build(expression);
+ Expression = expression;
}
///
@@ -49,6 +50,11 @@ namespace Perspex.Markup.Binding
}
}
+ ///
+ /// Gets the expression being observed.
+ ///
+ public string Expression { get; }
+
///
/// Gets or sets the root object that the expression is being observed on.
///
@@ -73,6 +79,9 @@ namespace Perspex.Markup.Binding
}
}
+ ///
+ string IDescription.Description => Expression;
+
///
protected override IDisposable SubscribeCore(IObserver observer)
{
diff --git a/src/Markup/Perspex.Markup/Binding/ExpressionSubject.cs b/src/Markup/Perspex.Markup/Binding/ExpressionSubject.cs
index cd076c9ab7..ac5700e512 100644
--- a/src/Markup/Perspex.Markup/Binding/ExpressionSubject.cs
+++ b/src/Markup/Perspex.Markup/Binding/ExpressionSubject.cs
@@ -10,7 +10,7 @@ namespace Perspex.Markup.Binding
///
/// Turns an into a subject that can be bound two-ways.
///
- public class ExpressionSubject : ISubject