Exemplo n.º 1
0
        public static TriggerBaseNode CreateTrigger(TriggerSourceInformation triggerSource, SceneViewModel viewModel)
        {
            RoutedEventInformation eventInformation    = triggerSource as RoutedEventInformation;
            PropertyInformation    propertyInformation = triggerSource as PropertyInformation;

            if ((TriggerSourceInformation)eventInformation != (TriggerSourceInformation)null)
            {
                EventTriggerNode eventTriggerNode = EventTriggerNode.Factory.Instantiate(viewModel);
                eventTriggerNode.RoutedEvent = eventInformation.RoutedEvent;
                return((TriggerBaseNode)eventTriggerNode);
            }
            if (!((TriggerSourceInformation)propertyInformation != (TriggerSourceInformation)null))
            {
                return((TriggerBaseNode)null);
            }
            TriggerNode        triggerNode        = (TriggerNode)null;
            DependencyProperty dependencyProperty = propertyInformation.DependencyProperty;

            if (dependencyProperty != null)
            {
                triggerNode = TriggerNode.Factory.Instantiate(viewModel);
                ITriggerConditionNode triggerConditionNode = (ITriggerConditionNode)triggerNode;
                triggerConditionNode.PropertyKey = dependencyProperty;
                triggerConditionNode.Value       = dependencyProperty.DefaultMetadata.DefaultValue;
            }
            return((TriggerBaseNode)triggerNode);
        }
Exemplo n.º 2
0
        public ConditionModel AddCondition(ITriggerConditionNode condition)
        {
            ConditionModel conditionModel = new ConditionModel(condition, this);

            conditionModel.Initialize();
            conditionModel.PropertyChanged += new PropertyChangedEventHandler(this.Condition_PropertyChanged);
            this.conditions.Add(conditionModel);
            this.AsyncSortConditions();
            return(conditionModel);
        }
Exemplo n.º 3
0
 public ConditionModel(ITriggerConditionNode condition, PropertyTriggerModel propertyTrigger)
 {
     this.condition       = condition;
     this.propertyTrigger = propertyTrigger;
     this.deleteCommand   = new DelegateCommand(new DelegateCommand.SimpleEventHandler(this.Delete));
     if (!(this.condition is TriggerNode))
     {
         return;
     }
     this.deleteCommand.IsEnabled = false;
 }
Exemplo n.º 4
0
 public void RemoveCondition(ITriggerConditionNode condition)
 {
     foreach (ConditionModel conditionModel in (Collection <ConditionModel>) this.conditions)
     {
         if (conditionModel.Condition == condition)
         {
             conditionModel.PropertyChanged -= new PropertyChangedEventHandler(this.Condition_PropertyChanged);
             this.conditions.Remove(conditionModel);
             break;
         }
     }
 }