private void VariableEvaluatable_ExpressionChanged(object sender, ExpressionChangeEventArgs e) { // Item1 refers to the parameter name, used as the key in the IEvaluatable list var paramName = ((dynamic)((Control_EvaluatablePresenter)sender).DataContext).Item1; Context.ConstructorParameters[paramName] = e.NewExpression; }
private void triggerEvaluatable_ExpressionChanged(object sender, ExpressionChangeEventArgs e) { if (CanSet) { Context.Properties._EvaluatableTrigger = e.NewExpression; } }
// We cannot do a TwoWay binding on the items of an ObservableCollection if that item may be replaced (it would be fine if only the instance's // values were being changed), so we have to capture change events and replace them in the list. private void ConditionPresenter_ConditionChanged(object sender, ExpressionChangeEventArgs e) { ParentExpr.SubConditions[ParentExpr.SubConditions.IndexOf((IEvaluatable <bool>)e.OldExpression)] = (IEvaluatable <bool>)e.NewExpression; }