SetStoryboardSpeedRatio.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Media / Animation / SetStoryboardSpeedRatio.cs / 1305600 / SetStoryboardSpeedRatio.cs

                            /****************************************************************************\ 
*
* File: SetStoryboardSpeedRatio.cs
*
* This object includes a Storyboard reference.  When triggered, the Storyboard 
*  speed ratio is set to the given parameter.
* 
* Copyright (C) by Microsoft Corporation.  All rights reserved. 
*
\***************************************************************************/ 
using System.ComponentModel;            // DefaultValueAttribute
using System.Diagnostics;               // Debug.Assert

namespace System.Windows.Media.Animation 
{
///  
/// SetStoryboardSpeedRatio will set the speed for its Storyboard reference when 
///  it is triggered.
///  
public sealed class SetStoryboardSpeedRatio : ControllableStoryboardAction
{
    /// 
    ///     A speed ratio to use for this action.  If it is never explicitly 
    /// specified, it is 1.0.
    ///  
    [DefaultValue(1.0)] 
    public double SpeedRatio
    { 
        get
        {
            return _speedRatio;
        } 
        set
        { 
            if (IsSealed) 
            {
                throw new InvalidOperationException(SR.Get(SRID.CannotChangeAfterSealed, "SetStoryboardSpeedRatio")); 
            }

            _speedRatio = value;
        } 
    }
 
    ///  
    ///     Called when it's time to execute this storyboard action
    ///  
    internal override void Invoke( FrameworkElement containingFE, FrameworkContentElement containingFCE, Storyboard storyboard )
    {
        Debug.Assert( containingFE != null || containingFCE != null,
            "Caller of internal function failed to verify that we have a FE or FCE - we have neither." ); 

        if( containingFE != null ) 
        { 
            storyboard.SetSpeedRatio(containingFE, SpeedRatio);
        } 
        else
        {
            storyboard.SetSpeedRatio(containingFCE, SpeedRatio);
        } 
    }
 
    double          _speedRatio = 1.0; 
}
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK