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
- TextContainer.cs
- BamlLocalizabilityResolver.cs
- Utility.cs
- HttpApplicationFactory.cs
- QuaternionAnimation.cs
- SemanticAnalyzer.cs
- NetSectionGroup.cs
- GridViewUpdatedEventArgs.cs
- Pen.cs
- ValidationErrorCollection.cs
- XmlAnyElementAttributes.cs
- Baml2006Reader.cs
- VBCodeProvider.cs
- ProfileBuildProvider.cs
- DispatcherObject.cs
- CalendarData.cs
- QueryModel.cs
- InvokeWebServiceDesigner.cs
- LayoutEditorPart.cs
- AssociatedControlConverter.cs
- EmbeddedMailObjectsCollection.cs
- DataServiceRequestException.cs
- TriggerCollection.cs
- ApplicationId.cs
- StrongNamePublicKeyBlob.cs
- WSSecureConversationDec2005.cs
- Win32Exception.cs
- IisTraceWebEventProvider.cs
- Pair.cs
- DataGridViewElement.cs
- SqlStream.cs
- Message.cs
- path.cs
- KeyboardEventArgs.cs
- X509CertificateCollection.cs
- RoleServiceManager.cs
- RoleBoolean.cs
- DataDocumentXPathNavigator.cs
- DataTransferEventArgs.cs
- EncryptedReference.cs
- ImportContext.cs
- ExtentKey.cs
- TextClipboardData.cs
- VariableQuery.cs
- FrameworkReadOnlyPropertyMetadata.cs
- Table.cs
- CqlParser.cs
- Durable.cs
- _ListenerAsyncResult.cs
- _RequestCacheProtocol.cs
- ChannelReliableSession.cs
- newitemfactory.cs
- MissingManifestResourceException.cs
- Domain.cs
- DrawingState.cs
- TextEvent.cs
- Configuration.cs
- SoapRpcServiceAttribute.cs
- HashMembershipCondition.cs
- NextPreviousPagerField.cs
- Compilation.cs
- TransactionScope.cs
- DesignerValidationSummaryAdapter.cs
- ScalarType.cs
- DSASignatureDeformatter.cs
- HexParser.cs
- SessionState.cs
- UnsupportedPolicyOptionsException.cs
- RootNamespaceAttribute.cs
- AssemblyAttributes.cs
- DesignColumnCollection.cs
- StubHelpers.cs
- XmlAtomicValue.cs
- EntityConnectionStringBuilder.cs
- DateRangeEvent.cs
- PointAnimationClockResource.cs
- ReturnValue.cs
- WebPermission.cs
- CoTaskMemHandle.cs
- XmlWriter.cs
- CodeAttachEventStatement.cs
- CustomErrorCollection.cs
- BamlBinaryWriter.cs
- IdentitySection.cs
- SqlGenericUtil.cs
- AppDomain.cs
- OverflowException.cs
- SqlNodeTypeOperators.cs
- UniqueIdentifierService.cs
- CodeDesigner.cs
- DefaultValidator.cs
- LabelLiteral.cs
- BamlLocalizableResourceKey.cs
- SetStateEventArgs.cs
- AsmxEndpointPickerExtension.cs
- XPathScanner.cs
- ExpressionBuilderCollection.cs
- AuthorizationSection.cs
- Expressions.cs
- QueryGenerator.cs