// -- FILE ------------------------------------------------------------------ // name : PauseCommand.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 PauseCommand : Command { // ---------------------------------------------------------------------- public PauseCommand( IPause pause ) { if ( pause == null ) { throw new ArgumentNullException( "pause" ); } this.pause = pause; pause.CanPauseChanged += CanPauseChangedHandler; } // PauseCommand // ---------------------------------------------------------------------- public IPause Pause { get { return pause; } } // Pause // ---------------------------------------------------------------------- protected override bool IsAvailable( object parameter ) { return pause.CanPause; } // IsAvailable // ---------------------------------------------------------------------- protected override bool DoExecute( object parameter ) { pause.Pause( Finish ); return false; } // DoExecute // ---------------------------------------------------------------------- protected override void Dispose( bool disposing ) { base.Dispose( disposing ); if ( disposing ) { pause.CanPauseChanged -= CanPauseChangedHandler; } } // Dispose // ---------------------------------------------------------------------- private void CanPauseChangedHandler( object sender, EventArgs e ) { Refresh(); } // CanPauseChangedHandler // ---------------------------------------------------------------------- // members private readonly IPause pause; } // class PauseCommand } // 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)