示例#1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ButtonsPanelBase"/> class.
 /// </summary>
 /// <param name="parentMachine">The parent machine.</param>
 /// <exception cref="System.ArgumentNullException">parentViewMode</exception>
 public ButtonsPanelBase(StateMachineContext parentMachine)
 {
     if (parentMachine == null)
     {
         throw new ArgumentNullException("parentViewMode");
     }
     m_ParentViewMode = parentMachine;
     parentMachine.PropertyChanged += parentViewMode_PropertyChanged;
     LeftButtonCommand              = new SynchronousCommandBase <object>
                                          (m_ParentViewMode.StateMachineActionsArray[(int)StateMachineEventIndex.LeftButtonEvent], y => (this.m_EnabledEvents & StateMachineEvents.LeftButtonEvent) != 0);
     LeftMiddleButtonCommand = new SynchronousCommandBase <object>
                                   (m_ParentViewMode.StateMachineActionsArray[(int)StateMachineEventIndex.LeftMiddleButtonEvent], y => (this.m_EnabledEvents & StateMachineEvents.LeftMiddleButtonEvent) != 0);
     RightMiddleButtonCommand = new SynchronousCommandBase <object>
                                    (m_ParentViewMode.StateMachineActionsArray[(int)StateMachineEventIndex.RightMiddleButtonEvent], y => (this.m_EnabledEvents & StateMachineEvents.RightMiddleButtonEvent) != 0);
     RightButtonCommand = new SynchronousCommandBase <object>
                              (m_ParentViewMode.StateMachineActionsArray[(int)StateMachineEventIndex.RightButtonEvent], y => (this.m_EnabledEvents & StateMachineEvents.RightButtonEvent) != 0);
 }
示例#2
0
 /// <summary>
 /// Enters the state <typeparamref name="StateType"/> after the view is navigated to.
 /// </summary>
 /// <param name="value">The value.</param>
 protected virtual void EnterState(StateMachineContext value)
 {
     MyState = value.EnterState <StateType>(this);
 }