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
- LogoValidationException.cs
- Collection.cs
- PolicyManager.cs
- TypedReference.cs
- OracleRowUpdatingEventArgs.cs
- SelectionRange.cs
- WebGetAttribute.cs
- Image.cs
- WebSysDisplayNameAttribute.cs
- XmlIncludeAttribute.cs
- DBCommandBuilder.cs
- HttpServerUtilityWrapper.cs
- CornerRadius.cs
- UnknownBitmapDecoder.cs
- CellNormalizer.cs
- CfgParser.cs
- HiddenField.cs
- NavigationExpr.cs
- GridItemProviderWrapper.cs
- DelayDesigner.cs
- RootBrowserWindowProxy.cs
- PointHitTestResult.cs
- DataGridViewBand.cs
- StaticResourceExtension.cs
- XmlBinaryReader.cs
- XslCompiledTransform.cs
- PropertyMappingExceptionEventArgs.cs
- CodeTypeParameterCollection.cs
- UnsafePeerToPeerMethods.cs
- FontSourceCollection.cs
- DefaultParameterValueAttribute.cs
- SyndicationSerializer.cs
- XmlText.cs
- ExceptionNotification.cs
- AttributeAction.cs
- FontInfo.cs
- AppSettingsExpressionBuilder.cs
- TableRow.cs
- XmlNodeList.cs
- DelegatingTypeDescriptionProvider.cs
- ObjectParameterCollection.cs
- ParameterBuilder.cs
- Serializer.cs
- StaticExtensionConverter.cs
- HasCopySemanticsAttribute.cs
- WebControlsSection.cs
- _ListenerRequestStream.cs
- ColumnBinding.cs
- ViewGenResults.cs
- TraceLevelStore.cs
- FlowDocumentReader.cs
- CssStyleCollection.cs
- ServiceSecurityContext.cs
- TdsEnums.cs
- PersonalizablePropertyEntry.cs
- ProcessInputEventArgs.cs
- ReadOnlyNameValueCollection.cs
- TextBoxBase.cs
- EntityRecordInfo.cs
- AuthStoreRoleProvider.cs
- XmlNodeComparer.cs
- TemplateField.cs
- XmlReturnWriter.cs
- TypeLibConverter.cs
- Invariant.cs
- CompoundFileIOPermission.cs
- StylusPointDescription.cs
- TagMapInfo.cs
- ParentQuery.cs
- PenThreadWorker.cs
- View.cs
- Point3DAnimation.cs
- DbProviderFactoriesConfigurationHandler.cs
- RepeaterItem.cs
- DesignerDataColumn.cs
- Rules.cs
- CalendarData.cs
- HttpHandlerAction.cs
- StorageEndPropertyMapping.cs
- TypeInitializationException.cs
- MethodRental.cs
- ContentElement.cs
- WebControlAdapter.cs
- InternalBufferOverflowException.cs
- IndentedWriter.cs
- TreeNodeConverter.cs
- ResolveNameEventArgs.cs
- ListViewCancelEventArgs.cs
- SplitContainer.cs
- CodeAccessSecurityEngine.cs
- AttributeCollection.cs
- Win32PrintDialog.cs
- OdbcInfoMessageEvent.cs
- IntegerValidatorAttribute.cs
- Resources.Designer.cs
- SingleResultAttribute.cs
- SynchronizedDispatch.cs
- SecurityUtils.cs
- DataGridViewAccessibleObject.cs
- DocumentCollection.cs