Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- MailSettingsSection.cs
- nulltextnavigator.cs
- selecteditemcollection.cs
- SystemWebSectionGroup.cs
- ListViewItem.cs
- OlePropertyStructs.cs
- TransactedBatchContext.cs
- arc.cs
- ColorContext.cs
- CommandBinding.cs
- PropertyPathWorker.cs
- SafeProcessHandle.cs
- ChtmlTextWriter.cs
- ContractMapping.cs
- TabItemWrapperAutomationPeer.cs
- MetadataArtifactLoader.cs
- InstanceDescriptor.cs
- Evidence.cs
- SecurityContext.cs
- ExpressionEditorAttribute.cs
- MemberMemberBinding.cs
- FileDialogCustomPlace.cs
- NativeRecognizer.cs
- PluralizationService.cs
- XMLSyntaxException.cs
- SimpleRecyclingCache.cs
- AppDomainFactory.cs
- PublisherMembershipCondition.cs
- ImageFormat.cs
- ZipIOLocalFileHeader.cs
- Transform3DGroup.cs
- BaseDataList.cs
- path.cs
- FixedSOMElement.cs
- ClusterRegistryConfigurationProvider.cs
- PaintValueEventArgs.cs
- RegisteredExpandoAttribute.cs
- MetadataItemSerializer.cs
- SiteMembershipCondition.cs
- precedingsibling.cs
- RewritingPass.cs
- FileEnumerator.cs
- OdbcParameter.cs
- thaishape.cs
- TripleDES.cs
- MatrixAnimationUsingKeyFrames.cs
- arclist.cs
- ImageCodecInfo.cs
- ExceptionCollection.cs
- HtmlInputReset.cs
- PenContext.cs
- ClientConvert.cs
- DataRowExtensions.cs
- PopupControlService.cs
- CustomMenuItemCollection.cs
- BamlLocalizer.cs
- ACE.cs
- FilteredSchemaElementLookUpTable.cs
- DateTimeOffsetStorage.cs
- SolidColorBrush.cs
- XmlLinkedNode.cs
- QuaternionAnimation.cs
- WindowClosedEventArgs.cs
- UIElementHelper.cs
- GridPattern.cs
- safePerfProviderHandle.cs
- UserNameSecurityTokenAuthenticator.cs
- ProfileService.cs
- FormCollection.cs
- DataBindEngine.cs
- ButtonFieldBase.cs
- MenuItem.cs
- ChtmlTextWriter.cs
- SmiContextFactory.cs
- XmlSerializerSection.cs
- HotSpot.cs
- remotingproxy.cs
- sapiproxy.cs
- LinearKeyFrames.cs
- Pair.cs
- ProxyElement.cs
- CommandID.cs
- XmlSchemaElement.cs
- ArrayList.cs
- _DomainName.cs
- Pen.cs
- JumpTask.cs
- OdbcHandle.cs
- SmiContextFactory.cs
- AnnotationDocumentPaginator.cs
- FlowLayoutPanel.cs
- RealizedColumnsBlock.cs
- ObjectStateFormatter.cs
- SudsParser.cs
- UIElementIsland.cs
- TreeWalker.cs
- dataprotectionpermission.cs
- StringReader.cs
- Transactions.cs
- Stack.cs