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
- SizeChangedEventArgs.cs
- DataGridHeaderBorder.cs
- PermissionSetEnumerator.cs
- SemaphoreSecurity.cs
- DropDownList.cs
- ApplicationSecurityInfo.cs
- Ticks.cs
- DesignParameter.cs
- HostingEnvironmentException.cs
- Timer.cs
- SchemaTypeEmitter.cs
- WebPartCatalogCloseVerb.cs
- DataGridViewColumnCollectionDialog.cs
- MetadataItem_Static.cs
- ReferenceConverter.cs
- EmbeddedMailObjectsCollection.cs
- FileDataSourceCache.cs
- FontFaceLayoutInfo.cs
- _NetworkingPerfCounters.cs
- Material.cs
- Int32Converter.cs
- CacheEntry.cs
- Attributes.cs
- BaseTemplateParser.cs
- TableLayoutPanelBehavior.cs
- DesignerActionItemCollection.cs
- RelatedEnd.cs
- TableLayoutColumnStyleCollection.cs
- DrawingContext.cs
- JsonEnumDataContract.cs
- Popup.cs
- ProxyWebPartManager.cs
- ColumnClickEvent.cs
- JavaScriptObjectDeserializer.cs
- HtmlHead.cs
- BoundsDrawingContextWalker.cs
- BStrWrapper.cs
- PocoPropertyAccessorStrategy.cs
- StylusLogic.cs
- SqlConnectionPoolProviderInfo.cs
- TextParagraphProperties.cs
- IRCollection.cs
- X509SubjectKeyIdentifierClause.cs
- GlobalProxySelection.cs
- ApplicationCommands.cs
- SequenceDesigner.cs
- StoreContentChangedEventArgs.cs
- XhtmlBasicPanelAdapter.cs
- Base64Encoder.cs
- DefaultMemberAttribute.cs
- smtpconnection.cs
- COM2PictureConverter.cs
- XmlEventCache.cs
- CorrelationTokenTypeConvertor.cs
- MimeImporter.cs
- EncryptedReference.cs
- EdmComplexPropertyAttribute.cs
- SerialReceived.cs
- SqlRetyper.cs
- Transform3D.cs
- ComponentSerializationService.cs
- UserCancellationException.cs
- Converter.cs
- Column.cs
- SystemException.cs
- GraphicsPath.cs
- ResolveNameEventArgs.cs
- AssemblyResolver.cs
- TypeForwardedToAttribute.cs
- ListBox.cs
- RootBrowserWindowProxy.cs
- DelegateSerializationHolder.cs
- ExcludePathInfo.cs
- FontDriver.cs
- DayRenderEvent.cs
- SQLInt32Storage.cs
- Enum.cs
- Brush.cs
- X509Certificate2.cs
- DataConnectionHelper.cs
- WindowsFormsSynchronizationContext.cs
- ComponentEvent.cs
- BindingExpression.cs
- PagesSection.cs
- CSharpCodeProvider.cs
- CheckBoxStandardAdapter.cs
- DispatcherExceptionFilterEventArgs.cs
- TraceSection.cs
- DateTimeConverter2.cs
- ReferentialConstraint.cs
- HTTPNotFoundHandler.cs
- ProcessModelSection.cs
- ConnectionConsumerAttribute.cs
- AssertFilter.cs
- PeerUnsafeNativeCryptMethods.cs
- XmlNavigatorStack.cs
- CalendarDateChangedEventArgs.cs
- ComponentChangedEvent.cs
- WebServiceFaultDesigner.cs
- Accessors.cs