Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Framework / System / Windows / Media / Animation / SeekStoryboard.cs / 1 / SeekStoryboard.cs
/****************************************************************************\ * * File: SeekStoryboard.cs * * This object includes a Storyboard reference. When triggered, the Storyboard * seeks to the given offset. * * Copyright (C) by Microsoft Corporation. All rights reserved. * \***************************************************************************/ using System.ComponentModel; // DefaultValueAttribute using System.Diagnostics; // Debug.Assert namespace System.Windows.Media.Animation { ////// SeekStoryboard will call seek on its Storyboard reference when /// it is triggered. /// public sealed class SeekStoryboard : ControllableStoryboardAction { ////// A time offset to use for this action. If it is never explicitly /// specified, it will be zero. /// // [DefaultValue(TimeSpan.Zero)] - not usable because TimeSpan.Zero is not a constant expression. public TimeSpan Offset { get { return _offset; } set { if (IsSealed) { throw new InvalidOperationException(SR.Get(SRID.CannotChangeAfterSealed, "SeekStoryboard")); } // TimeSpan is a struct and can't be null - hence no ArgumentNullException check. _offset = value; } } ////// This method is used by TypeDescriptor to determine if this property should /// be serialized. /// // Because we can't use [DefaultValue(TimeSpan.Zero)] - TimeSpan.Zero is not a constant expression. [EditorBrowsable(EditorBrowsableState.Never)] public bool ShouldSerializeOffset() { return !(TimeSpan.Zero.Equals(_offset)); } ////// A time offset origin from which to evaluate the Offset value. /// If it is never explicitly specified, it will be relative to the /// beginning. ("Begin") /// [DefaultValue(TimeSeekOrigin.BeginTime)] public TimeSeekOrigin Origin { get { return _origin; } set { if (IsSealed) { throw new InvalidOperationException(SR.Get(SRID.CannotChangeAfterSealed, "SeekStoryboard")); } if( value == TimeSeekOrigin.BeginTime || value == TimeSeekOrigin.Duration ) // FxCop doesn't like Enum.IsDefined, probably need some central validation mechanism. { _origin = value; } else { throw new ArgumentException(SR.Get(SRID.Storyboard_UnrecognizedTimeSeekOrigin)); } } } ////// 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.Seek(containingFE, Offset, Origin); } else { storyboard.Seek(containingFCE, Offset, Origin); } } TimeSpan _offset = TimeSpan.Zero; TimeSeekOrigin _origin = TimeSeekOrigin.BeginTime; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. /****************************************************************************\ * * File: SeekStoryboard.cs * * This object includes a Storyboard reference. When triggered, the Storyboard * seeks to the given offset. * * Copyright (C) by Microsoft Corporation. All rights reserved. * \***************************************************************************/ using System.ComponentModel; // DefaultValueAttribute using System.Diagnostics; // Debug.Assert namespace System.Windows.Media.Animation { ////// SeekStoryboard will call seek on its Storyboard reference when /// it is triggered. /// public sealed class SeekStoryboard : ControllableStoryboardAction { ////// A time offset to use for this action. If it is never explicitly /// specified, it will be zero. /// // [DefaultValue(TimeSpan.Zero)] - not usable because TimeSpan.Zero is not a constant expression. public TimeSpan Offset { get { return _offset; } set { if (IsSealed) { throw new InvalidOperationException(SR.Get(SRID.CannotChangeAfterSealed, "SeekStoryboard")); } // TimeSpan is a struct and can't be null - hence no ArgumentNullException check. _offset = value; } } ////// This method is used by TypeDescriptor to determine if this property should /// be serialized. /// // Because we can't use [DefaultValue(TimeSpan.Zero)] - TimeSpan.Zero is not a constant expression. [EditorBrowsable(EditorBrowsableState.Never)] public bool ShouldSerializeOffset() { return !(TimeSpan.Zero.Equals(_offset)); } ////// A time offset origin from which to evaluate the Offset value. /// If it is never explicitly specified, it will be relative to the /// beginning. ("Begin") /// [DefaultValue(TimeSeekOrigin.BeginTime)] public TimeSeekOrigin Origin { get { return _origin; } set { if (IsSealed) { throw new InvalidOperationException(SR.Get(SRID.CannotChangeAfterSealed, "SeekStoryboard")); } if( value == TimeSeekOrigin.BeginTime || value == TimeSeekOrigin.Duration ) // FxCop doesn't like Enum.IsDefined, probably need some central validation mechanism. { _origin = value; } else { throw new ArgumentException(SR.Get(SRID.Storyboard_UnrecognizedTimeSeekOrigin)); } } } ////// 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.Seek(containingFE, Offset, Origin); } else { storyboard.Seek(containingFCE, Offset, Origin); } } TimeSpan _offset = TimeSpan.Zero; TimeSeekOrigin _origin = TimeSeekOrigin.BeginTime; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MatrixValueSerializer.cs
- WriteStateInfoBase.cs
- ErrorHandler.cs
- Grammar.cs
- Native.cs
- TraceHandler.cs
- RectIndependentAnimationStorage.cs
- ConnectionInterfaceCollection.cs
- AuthenticationSchemesHelper.cs
- InsufficientMemoryException.cs
- ModuleElement.cs
- MsmqChannelListenerBase.cs
- SelectionItemProviderWrapper.cs
- CacheHelper.cs
- CategoryValueConverter.cs
- CultureSpecificCharacterBufferRange.cs
- TriggerBase.cs
- ClientCultureInfo.cs
- XmlnsCache.cs
- BoundPropertyEntry.cs
- followingsibling.cs
- CodeNamespace.cs
- TokenBasedSet.cs
- Errors.cs
- HandlerBase.cs
- OpCopier.cs
- StdValidatorsAndConverters.cs
- Int16AnimationBase.cs
- WaitForChangedResult.cs
- SoapWriter.cs
- CornerRadius.cs
- OdbcParameter.cs
- HtmlTable.cs
- NonClientArea.cs
- AtomParser.cs
- Nullable.cs
- PrintDocument.cs
- DataSourceControlBuilder.cs
- ApplicationId.cs
- ErrorCodes.cs
- ExternalDataExchangeService.cs
- StartUpEventArgs.cs
- DataComponentGenerator.cs
- EditingCoordinator.cs
- DrawingDrawingContext.cs
- RawStylusInputReport.cs
- RecordManager.cs
- DocumentPageViewAutomationPeer.cs
- EntityCommandExecutionException.cs
- EndpointInfoCollection.cs
- AutomationPattern.cs
- DbDataRecord.cs
- VerificationAttribute.cs
- BitmapImage.cs
- MetabaseReader.cs
- MLangCodePageEncoding.cs
- StrongBox.cs
- Transaction.cs
- ImageSource.cs
- DataGridViewRow.cs
- MemberJoinTreeNode.cs
- CodeVariableReferenceExpression.cs
- XmlSchemaFacet.cs
- EncryptedXml.cs
- CacheRequest.cs
- CompositeFontParser.cs
- ProfilePropertySettings.cs
- UnsettableComboBox.cs
- BmpBitmapEncoder.cs
- MobileTextWriter.cs
- OracleException.cs
- TextBox.cs
- SemanticAnalyzer.cs
- AttachedPropertyDescriptor.cs
- ReadOnlyKeyedCollection.cs
- AutomationInteropProvider.cs
- DecimalKeyFrameCollection.cs
- TextParagraphView.cs
- EtwTrace.cs
- ProfileModule.cs
- TextTreeUndoUnit.cs
- SqlDependency.cs
- COM2FontConverter.cs
- DbProviderFactory.cs
- AppDomainManager.cs
- FontClient.cs
- QueryCorrelationInitializer.cs
- HostProtectionPermission.cs
- EntityDataSourceContextDisposingEventArgs.cs
- ListChangedEventArgs.cs
- SemaphoreFullException.cs
- ObjectParameter.cs
- PageCache.cs
- DataSysAttribute.cs
- DeadCharTextComposition.cs
- EventManager.cs
- ScrollContentPresenter.cs
- SecurityUtils.cs
- SqlConnectionManager.cs
- UInt16Storage.cs