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
- Attributes.cs
- DPCustomTypeDescriptor.cs
- AppearanceEditorPart.cs
- WebPartDisplayModeEventArgs.cs
- GrowingArray.cs
- ConfigurationException.cs
- Util.cs
- FileUpload.cs
- DataFieldEditor.cs
- XmlSchemaImporter.cs
- WebPartCancelEventArgs.cs
- AnnotationDocumentPaginator.cs
- RelationalExpressions.cs
- ParenthesizePropertyNameAttribute.cs
- TemplateManager.cs
- PreviewKeyDownEventArgs.cs
- HttpChannelHelper.cs
- TextTreeUndoUnit.cs
- HttpServerVarsCollection.cs
- ManifestResourceInfo.cs
- ImageListImage.cs
- PropertyEmitterBase.cs
- DataGridHeaderBorder.cs
- HttpDebugHandler.cs
- PersonalizableAttribute.cs
- BaseTemplateParser.cs
- XslCompiledTransform.cs
- ParagraphResult.cs
- XmlImplementation.cs
- TemplateContentLoader.cs
- FactoryGenerator.cs
- PropertyEntry.cs
- DesigntimeLicenseContext.cs
- ValueCollectionParameterReader.cs
- SqlDataSourceSelectingEventArgs.cs
- KeyedPriorityQueue.cs
- OptimalTextSource.cs
- LinkLabelLinkClickedEvent.cs
- Canvas.cs
- FormViewInsertEventArgs.cs
- DesignerMetadata.cs
- OpenTypeCommon.cs
- ParagraphResult.cs
- HttpCapabilitiesBase.cs
- DataSourceDescriptorCollection.cs
- NameValuePair.cs
- controlskin.cs
- MSHTMLHostUtil.cs
- ProfileProvider.cs
- Vector.cs
- TextTreeNode.cs
- TextTreeInsertUndoUnit.cs
- BrushConverter.cs
- RegexGroupCollection.cs
- IIS7WorkerRequest.cs
- DockPanel.cs
- TargetControlTypeAttribute.cs
- ScrollChangedEventArgs.cs
- DbConnectionClosed.cs
- CachedFontFamily.cs
- Parsers.cs
- AsyncOperationManager.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- ExpressionTextBox.xaml.cs
- SafeLibraryHandle.cs
- AnnotationResourceCollection.cs
- TextEndOfParagraph.cs
- Decimal.cs
- HostDesigntimeLicenseContext.cs
- TransformValueSerializer.cs
- ResetableIterator.cs
- StorageEntityContainerMapping.cs
- DefaultAsyncDataDispatcher.cs
- ConstraintConverter.cs
- NotifyInputEventArgs.cs
- StringDictionary.cs
- BoolExpressionVisitors.cs
- CatalogPartChrome.cs
- DataGridLength.cs
- ReversePositionQuery.cs
- JsonWriter.cs
- PresentationTraceSources.cs
- BamlWriter.cs
- HashHelpers.cs
- WebColorConverter.cs
- XmlnsDictionary.cs
- SQLBinary.cs
- TableNameAttribute.cs
- MessageBox.cs
- CodeTypeConstructor.cs
- FilteredSchemaElementLookUpTable.cs
- VectorCollection.cs
- CurrentTimeZone.cs
- Point3DKeyFrameCollection.cs
- AutoResetEvent.cs
- StorageScalarPropertyMapping.cs
- DictionaryEntry.cs
- PartialTrustVisibleAssemblyCollection.cs
- ToolBarButton.cs
- DynamicILGenerator.cs