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
- LeaseManager.cs
- SafeCryptoHandles.cs
- TrackPoint.cs
- BaseValidatorDesigner.cs
- PrefixQName.cs
- ContextInformation.cs
- EnlistmentState.cs
- DbCommandDefinition.cs
- ImmutableObjectAttribute.cs
- CalendarDay.cs
- IISUnsafeMethods.cs
- TouchEventArgs.cs
- XmlNodeComparer.cs
- HwndHostAutomationPeer.cs
- GetPageCompletedEventArgs.cs
- TimeSpanStorage.cs
- ComponentResourceKey.cs
- ObfuscationAttribute.cs
- TextRange.cs
- DispatcherExceptionFilterEventArgs.cs
- KnownColorTable.cs
- CompiledAction.cs
- TemplateLookupAction.cs
- HttpCapabilitiesSectionHandler.cs
- ZipIOExtraField.cs
- cookiecontainer.cs
- ContextMenuService.cs
- EllipseGeometry.cs
- XPathDescendantIterator.cs
- Lasso.cs
- SecurityTokenSerializer.cs
- AutoCompleteStringCollection.cs
- LabelInfo.cs
- DataGridViewBand.cs
- CurrentChangingEventManager.cs
- DesignOnlyAttribute.cs
- IntSecurity.cs
- WorkflowMarkupSerializationException.cs
- DesignSurfaceManager.cs
- UserControlAutomationPeer.cs
- URL.cs
- FixedPageAutomationPeer.cs
- PreparingEnlistment.cs
- ToolStripComboBox.cs
- DurableErrorHandler.cs
- PropertyOrder.cs
- RangeEnumerable.cs
- VideoDrawing.cs
- HtmlForm.cs
- Parser.cs
- StringBlob.cs
- RSAPKCS1KeyExchangeFormatter.cs
- IndicFontClient.cs
- CallSiteHelpers.cs
- Sequence.cs
- PingReply.cs
- CacheVirtualItemsEvent.cs
- SqlNotificationEventArgs.cs
- TokenBasedSetEnumerator.cs
- BitmapMetadata.cs
- EmptyStringExpandableObjectConverter.cs
- RetrieveVirtualItemEventArgs.cs
- DbConnectionHelper.cs
- XmlEntityReference.cs
- IgnoreSection.cs
- SqlDataSourceCache.cs
- SchemaType.cs
- PrePrepareMethodAttribute.cs
- FolderLevelBuildProvider.cs
- RandomDelaySendsAsyncResult.cs
- WebPartZoneBase.cs
- QilFactory.cs
- HttpClientChannel.cs
- SelectedCellsChangedEventArgs.cs
- SystemDiagnosticsSection.cs
- HtmlHead.cs
- HttpServerVarsCollection.cs
- BitmapEditor.cs
- StringComparer.cs
- DocComment.cs
- codemethodreferenceexpression.cs
- SimpleHandlerFactory.cs
- FocusTracker.cs
- GeometryDrawing.cs
- MessageSecurityOverHttp.cs
- RectAnimationUsingKeyFrames.cs
- InputScopeConverter.cs
- CollectionViewGroupInternal.cs
- PathParser.cs
- WindowManager.cs
- FileUtil.cs
- ControlIdConverter.cs
- WindowsFont.cs
- PerformanceCountersElement.cs
- StaticFileHandler.cs
- ServiceDescriptions.cs
- CompilerLocalReference.cs
- DecoratedNameAttribute.cs
- SystemWebSectionGroup.cs
- Listbox.cs