private void ExecuteExpressionCommand() { LinxExpression expression; bool editExpression = InLinxExpression(out expression); string expressionText = (editExpression) ? "=" + expression.ExpressionText : string.Empty; IExpression modifiedValue; if (designerContext.EditExpression(expressionText, out modifiedValue)) { string wrappedExpression = string.Empty; if (!modifiedValue.IsEmpty) { wrappedExpression = SqlStringHandler.CreateSqlExpression(modifiedValue.GetExpression()); } if (editExpression) { SegmentedDocument.Replace(expression.StartIndex, expression.EndIndex - expression.StartIndex + 1, wrappedExpression); } else { SegmentedDocument.Replace(CaretIndex, 0, wrappedExpression); } } }