/// <summary>
 /// Sets up this input source with a specified control
 /// </summary>
 /// <param name="monitorFactory">Creates binding monitors</param>
 /// <param name="context">Context that commands are triggered in</param>
 public CommandInputSource( ICommandInputBindingMonitorFactory monitorFactory, object context )
 {
     Arguments.CheckNotNull( monitorFactory, "monitorFactory" );
     m_MonitorFactory = monitorFactory;
     m_Context = context;
 }
 /// <summary>
 /// Creates a monitor for this binding.
 /// </summary>
 /// <remarks>
 /// A binding monitor is an object that monitors a particular input source (e.g. control) for input that
 /// matches this binding.
 /// </remarks>
 public virtual ICommandInputBindingMonitor CreateMonitor( ICommandInputBindingMonitorFactory factory, ICommandUser user )
 {
     return factory.CreateBindingMonitor( this, user );
 }