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
- httpstaticobjectscollection.cs
- BooleanExpr.cs
- TextBoxView.cs
- ReferencedAssembly.cs
- LineProperties.cs
- __Filters.cs
- FrameDimension.cs
- HttpListenerTimeoutManager.cs
- XmlIgnoreAttribute.cs
- SwitchExpression.cs
- KeyGestureConverter.cs
- DependencySource.cs
- CryptoHelper.cs
- DiagnosticStrings.cs
- WebPartEditVerb.cs
- TextElementEnumerator.cs
- AstNode.cs
- StringExpressionSet.cs
- AnnotationComponentManager.cs
- AssertUtility.cs
- DeclarativeCatalogPart.cs
- RoleGroupCollection.cs
- Zone.cs
- DefaultHttpHandler.cs
- GestureRecognitionResult.cs
- MouseWheelEventArgs.cs
- PagePropertiesChangingEventArgs.cs
- XmlCDATASection.cs
- PreservationFileWriter.cs
- DebugView.cs
- datacache.cs
- LineUtil.cs
- DocumentPaginator.cs
- VersionPair.cs
- SerializationObjectManager.cs
- WinFormsComponentEditor.cs
- PermissionListSet.cs
- SuspendDesigner.cs
- TraceRecord.cs
- InvalidEnumArgumentException.cs
- TraceFilter.cs
- CancelEventArgs.cs
- XmlDataDocument.cs
- PersonalizationProvider.cs
- DesignTimeTemplateParser.cs
- DataAdapter.cs
- MenuCommand.cs
- CategoryNameCollection.cs
- SignatureResourcePool.cs
- JavascriptCallbackMessageInspector.cs
- StateWorkerRequest.cs
- SqlHelper.cs
- BitmapEffectInput.cs
- DateBoldEvent.cs
- MatrixTransform.cs
- WindowShowOrOpenTracker.cs
- BasicExpandProvider.cs
- TextEffect.cs
- WeakReference.cs
- ThemeableAttribute.cs
- TableItemPattern.cs
- CellQuery.cs
- OpenFileDialog.cs
- ListSourceHelper.cs
- DataGridViewRowsAddedEventArgs.cs
- ScaleTransform3D.cs
- BaseUriHelper.cs
- DefaultPrintController.cs
- SqlRemoveConstantOrderBy.cs
- EpmContentSerializerBase.cs
- TextRange.cs
- DataListCommandEventArgs.cs
- ObjectTypeMapping.cs
- ApplicationServiceManager.cs
- StringResourceManager.cs
- OdbcEnvironmentHandle.cs
- Journal.cs
- XPathNodeHelper.cs
- ElementMarkupObject.cs
- WorkflowInstanceProvider.cs
- RedistVersionInfo.cs
- Int64.cs
- EntityKeyElement.cs
- XmlNavigatorFilter.cs
- DesignTimeVisibleAttribute.cs
- UserMapPath.cs
- MulticastDelegate.cs
- StdValidatorsAndConverters.cs
- ProfilePropertySettings.cs
- AnnotationResourceCollection.cs
- SchemaImporterExtensionElement.cs
- IdentifierElement.cs
- wgx_exports.cs
- ClientUtils.cs
- DiscoveryInnerClientAdhocCD1.cs
- ExpressionBuilderContext.cs
- _ProxyChain.cs
- NotConverter.cs
- AspCompat.cs
- DrawListViewSubItemEventArgs.cs