// -- FILE ------------------------------------------------------------------ // name : StopCommand.cs // project : Itenso Community // created : Jani Giannoudis - 2012.05.05 // language : c# // environment: .NET 4.0 // copyright : (c) 2004-2012 by Itenso GmbH, Switzerland // -------------------------------------------------------------------------- using System; using Itenso.Community.XamlPatterns.Actions.Media; using Itenso.Community.XamlPatterns.Windows.Input; namespace Itenso.Community.XamlPatterns.Commands.Media { // ------------------------------------------------------------------------ public class StopCommand : Command { // ---------------------------------------------------------------------- public StopCommand( IStop stop ) { if ( stop == null ) { throw new ArgumentNullException( "stop" ); } this.stop = stop; stop.CanStopChanged += CanStopChangedHandler; } // StopCommand // ---------------------------------------------------------------------- public IStop Stop { get { return stop; } } // Stop // ---------------------------------------------------------------------- protected override bool IsAvailable( object parameter ) { return stop.CanStop; } // IsAvailable // ---------------------------------------------------------------------- protected override bool DoExecute( object parameter ) { stop.Stop( Finish ); return false; } // DoExecute // ---------------------------------------------------------------------- protected override void Dispose( bool disposing ) { base.Dispose( disposing ); if ( disposing ) { stop.CanStopChanged -= CanStopChangedHandler; } } // Dispose // ---------------------------------------------------------------------- private void CanStopChangedHandler( object sender, EventArgs e ) { Refresh(); } // CanStopChangedHandler // ---------------------------------------------------------------------- // members private readonly IStop stop; } // class StopCommand } // namespace Itenso.Community.XamlPatterns.Windows.Media // -- EOF -------------------------------------------------------------------
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.
This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)