diff --git a/src/Library/TerminalUI/Binding.cs b/src/Library/TerminalUI/Binding.cs index a769db3..7bdbdf0 100644 --- a/src/Library/TerminalUI/Binding.cs +++ b/src/Library/TerminalUI/Binding.cs @@ -88,16 +88,19 @@ public class Binding : IDisposable } } - private string? FindReactiveProperties(Expression expression, List properties) + private string? FindReactiveProperties(Expression? expression, List properties) { + if (expression is null) return ""; + if (expression is LambdaExpression lambdaExpression) { SavePropertyPath(FindReactiveProperties(lambdaExpression.Body, properties)); } else if (expression is ConditionalExpression conditionalExpression) { - SavePropertyPath(FindReactiveProperties(conditionalExpression.IfFalse, properties)); + SavePropertyPath(FindReactiveProperties(conditionalExpression.Test, properties)); SavePropertyPath(FindReactiveProperties(conditionalExpression.IfTrue, properties)); + SavePropertyPath(FindReactiveProperties(conditionalExpression.IfFalse, properties)); } else if (expression is MemberExpression memberExpression) {