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
- CollectionBuilder.cs
- UIElementPropertyUndoUnit.cs
- SelectionEditingBehavior.cs
- PriorityRange.cs
- HttpCookiesSection.cs
- StrongBox.cs
- PropertyGrid.cs
- BufferAllocator.cs
- UnsupportedPolicyOptionsException.cs
- AQNBuilder.cs
- FactoryMaker.cs
- ResourceExpression.cs
- HuffCodec.cs
- PerformanceCounterPermissionEntry.cs
- ReachPageContentCollectionSerializer.cs
- COM2ComponentEditor.cs
- SimpleMailWebEventProvider.cs
- MDIControlStrip.cs
- SafeRegistryHandle.cs
- SafeNativeMethods.cs
- DirectionalLight.cs
- CellLabel.cs
- SQLInt16.cs
- MulticastNotSupportedException.cs
- DescendentsWalker.cs
- LoginName.cs
- ChtmlTextWriter.cs
- DataGridViewDataConnection.cs
- LinkedResourceCollection.cs
- SqlDataSourceQueryEditor.cs
- HttpPostedFileBase.cs
- RectAnimationBase.cs
- ImageFormat.cs
- LockedActivityGlyph.cs
- DecimalAnimation.cs
- DependencyPropertyConverter.cs
- StringFunctions.cs
- LocatorPart.cs
- EpmSourcePathSegment.cs
- CssClassPropertyAttribute.cs
- EndpointAddress.cs
- ScaleTransform3D.cs
- UserControl.cs
- ClientTarget.cs
- EventRouteFactory.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- SolidColorBrush.cs
- HtmlInputImage.cs
- StylusPoint.cs
- AdornerPresentationContext.cs
- XmlArrayItemAttribute.cs
- remotingproxy.cs
- DataObjectSettingDataEventArgs.cs
- Claim.cs
- PseudoWebRequest.cs
- PolygonHotSpot.cs
- ToolStripMenuItemDesigner.cs
- _TimerThread.cs
- ToolStripPanelRow.cs
- FixedPageStructure.cs
- PermissionSetEnumerator.cs
- TableRow.cs
- SqlDataSourceCache.cs
- EtwProvider.cs
- _NegoStream.cs
- SchemaTypeEmitter.cs
- BindableAttribute.cs
- EntryWrittenEventArgs.cs
- ToolStripItemTextRenderEventArgs.cs
- Color.cs
- Monitor.cs
- FontCollection.cs
- PassportIdentity.cs
- JavaScriptSerializer.cs
- LongAverageAggregationOperator.cs
- GlyphRunDrawing.cs
- ProviderBase.cs
- DataPagerFieldItem.cs
- _FixedSizeReader.cs
- UserControlCodeDomTreeGenerator.cs
- Rotation3D.cs
- TransactionOptions.cs
- XmlElementAttribute.cs
- SafeLibraryHandle.cs
- XmlAttribute.cs
- DataGrid.cs
- DataGridViewCellEventArgs.cs
- EncoderFallback.cs
- Emitter.cs
- WebEncodingValidator.cs
- XPathNavigatorKeyComparer.cs
- MaskInputRejectedEventArgs.cs
- SystemException.cs
- AuthorizationRuleCollection.cs
- GlyphingCache.cs
- HideDisabledControlAdapter.cs
- BaseParaClient.cs
- AttachedPropertyBrowsableAttribute.cs
- HuffModule.cs
- PlainXmlSerializer.cs