Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Media / Animation / SeekStoryboard.cs / 1305600 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ColorAnimationBase.cs
- SafeCryptHandles.cs
- XamlStyleSerializer.cs
- WindowsListViewGroupHelper.cs
- ValidationSettings.cs
- FileDialogPermission.cs
- VSWCFServiceContractGenerator.cs
- OrderByQueryOptionExpression.cs
- PerformanceCounterPermission.cs
- EdmProviderManifest.cs
- RefreshEventArgs.cs
- BaseTemplateBuildProvider.cs
- CodeObjectCreateExpression.cs
- ToolStripTextBox.cs
- CodeCastExpression.cs
- ToolStripItemTextRenderEventArgs.cs
- GridEntryCollection.cs
- AtomPub10CategoriesDocumentFormatter.cs
- ListControl.cs
- ManipulationStartingEventArgs.cs
- SimpleWorkerRequest.cs
- CalculatedColumn.cs
- MonitoringDescriptionAttribute.cs
- DrawingGroup.cs
- WebPartVerb.cs
- CellCreator.cs
- DateTimeAutomationPeer.cs
- ConnectionProviderAttribute.cs
- InternalDispatchObject.cs
- DesignTimeVisibleAttribute.cs
- CustomCategoryAttribute.cs
- WebBrowserUriTypeConverter.cs
- MetadataArtifactLoaderFile.cs
- PagerSettings.cs
- BaseDataList.cs
- ProcessInfo.cs
- MenuScrollingVisibilityConverter.cs
- ExtensionMethods.cs
- ZipIOExtraFieldZip64Element.cs
- ObjectDataSourceDisposingEventArgs.cs
- ReverseInheritProperty.cs
- LocalizeDesigner.cs
- TlsnegoTokenAuthenticator.cs
- AuthorizationRule.cs
- WindowsListViewSubItem.cs
- EventProviderClassic.cs
- Binding.cs
- RemoteWebConfigurationHost.cs
- BindToObject.cs
- FaultHandlingFilter.cs
- DbParameterCollection.cs
- WindowsListViewSubItem.cs
- SqlFactory.cs
- RegularExpressionValidator.cs
- StorageInfo.cs
- HandlerFactoryWrapper.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- RenderCapability.cs
- ThreadSafeList.cs
- Win32Exception.cs
- SiteMembershipCondition.cs
- PropertyMap.cs
- Control.cs
- RoleManagerSection.cs
- SchemaUtility.cs
- ClientFormsIdentity.cs
- SchemaImporterExtensionElement.cs
- HostingEnvironment.cs
- ListItem.cs
- DataServiceProviderWrapper.cs
- Point3D.cs
- ButtonBaseAutomationPeer.cs
- Part.cs
- SafeBitVector32.cs
- HttpCacheParams.cs
- TransferMode.cs
- WebPartPersonalization.cs
- XmlAttributeCollection.cs
- UserControl.cs
- XmlSchemaSubstitutionGroup.cs
- XamlVector3DCollectionSerializer.cs
- ClaimSet.cs
- PageHandlerFactory.cs
- AttributeCollection.cs
- SoapServerMessage.cs
- InvokeFunc.cs
- HttpApplication.cs
- SchemaCollectionPreprocessor.cs
- WpfWebRequestHelper.cs
- ErrorFormatterPage.cs
- HandlerWithFactory.cs
- XmlSigningNodeWriter.cs
- UrlParameterWriter.cs
- Accessible.cs
- InvalidComObjectException.cs
- TemplateBindingExtension.cs
- ProfileModule.cs
- CompositeTypefaceMetrics.cs
- Crc32.cs
- ListComponentEditorPage.cs