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
- ExpressionBuilderContext.cs
- ExtensionElementCollection.cs
- RadialGradientBrush.cs
- ChangePassword.cs
- PageParserFilter.cs
- StateMachineWorkflowDesigner.cs
- Enumerable.cs
- WebPartDisplayModeEventArgs.cs
- SqlNotificationRequest.cs
- SmtpNtlmAuthenticationModule.cs
- Visual3D.cs
- ILGenerator.cs
- XmlSchemaInfo.cs
- _Semaphore.cs
- DataBoundControlActionList.cs
- AccessControlList.cs
- GroupByExpressionRewriter.cs
- RenderingBiasValidation.cs
- NullRuntimeConfig.cs
- RenderingBiasValidation.cs
- Hash.cs
- WebExceptionStatus.cs
- ConfigXmlDocument.cs
- MultiBinding.cs
- DataRowView.cs
- XmlSignatureProperties.cs
- RawAppCommandInputReport.cs
- CompoundFileStreamReference.cs
- XmlValidatingReader.cs
- CalloutQueueItem.cs
- TypeUtil.cs
- RoleService.cs
- HtmlElementErrorEventArgs.cs
- ClientUrlResolverWrapper.cs
- StringUtil.cs
- ItemCollection.cs
- KeyTime.cs
- ObjectConverter.cs
- ToolStripRenderer.cs
- FilterQueryOptionExpression.cs
- StringFormat.cs
- BoolExpr.cs
- ScriptingProfileServiceSection.cs
- TrackingProfileSerializer.cs
- PersonalizationStateInfo.cs
- ChildTable.cs
- WebPartConnectionsCancelVerb.cs
- XsltQilFactory.cs
- SecUtil.cs
- ContainerParaClient.cs
- TextTreeExtractElementUndoUnit.cs
- codemethodreferenceexpression.cs
- ParameterElementCollection.cs
- ConfigXmlText.cs
- MembershipPasswordException.cs
- AttributeProviderAttribute.cs
- ServiceDescriptionReflector.cs
- HttpHandlersSection.cs
- RtfToken.cs
- PointAnimationUsingKeyFrames.cs
- BrowserCapabilitiesFactory35.cs
- DocumentViewer.cs
- NameValuePermission.cs
- Win32.cs
- ColorTransformHelper.cs
- OneToOneMappingSerializer.cs
- WebPartHeaderCloseVerb.cs
- RegexFCD.cs
- NamespaceEmitter.cs
- PassportAuthenticationModule.cs
- CachedRequestParams.cs
- ControlIdConverter.cs
- ToolboxBitmapAttribute.cs
- SegmentInfo.cs
- ManagementClass.cs
- TypefaceMetricsCache.cs
- TransformConverter.cs
- InnerItemCollectionView.cs
- SiteMapHierarchicalDataSourceView.cs
- RenderDataDrawingContext.cs
- AttachedPropertyBrowsableAttribute.cs
- InkSerializer.cs
- CompositeDispatchFormatter.cs
- ForceCopyBuildProvider.cs
- AppDomainFactory.cs
- DataSourceConverter.cs
- figurelength.cs
- OracleString.cs
- ScalarConstant.cs
- ReferentialConstraint.cs
- GridViewUpdateEventArgs.cs
- ListBoxAutomationPeer.cs
- ScriptReferenceEventArgs.cs
- PointAnimation.cs
- ResourcePermissionBaseEntry.cs
- HttpMethodConstraint.cs
- BitSet.cs
- Binding.cs
- EntityViewGenerationAttribute.cs
- StylusLogic.cs