Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- DataGridParentRows.cs
- SqlMethodAttribute.cs
- SubMenuStyleCollection.cs
- DrawingContext.cs
- Compilation.cs
- DataViewManager.cs
- FixedSOMTableCell.cs
- ServiceDurableInstanceContextProvider.cs
- WsatConfiguration.cs
- Win32Exception.cs
- Panel.cs
- PageEventArgs.cs
- SQLInt32Storage.cs
- WebConfigurationHostFileChange.cs
- Native.cs
- SerializableTypeCodeDomSerializer.cs
- MultiSelectRootGridEntry.cs
- KeyboardNavigation.cs
- PrePrepareMethodAttribute.cs
- VirtualizingPanel.cs
- HttpStreamMessageEncoderFactory.cs
- X509Chain.cs
- Nullable.cs
- EdmComplexPropertyAttribute.cs
- CorePropertiesFilter.cs
- MetadataException.cs
- ThreadStaticAttribute.cs
- ZoneIdentityPermission.cs
- EqualityArray.cs
- Camera.cs
- SiteMap.cs
- SchemaCollectionPreprocessor.cs
- Operator.cs
- ElementHost.cs
- WebPartCollection.cs
- ObjectListDesigner.cs
- DetailsView.cs
- EqualityComparer.cs
- XmlNavigatorFilter.cs
- CodeAttributeArgument.cs
- ZipIOModeEnforcingStream.cs
- AddInAttribute.cs
- Base64Encoder.cs
- FontSource.cs
- RequestCache.cs
- CodeDirectionExpression.cs
- JoinQueryOperator.cs
- AutomationProperties.cs
- InternalUserCancelledException.cs
- TabPanel.cs
- ControlPaint.cs
- TraceSection.cs
- DynamicQueryableWrapper.cs
- DeferrableContentConverter.cs
- Renderer.cs
- CounterSetInstanceCounterDataSet.cs
- ChannelTraceRecord.cs
- ResourceAttributes.cs
- FormsIdentity.cs
- ObjectItemNoOpAssemblyLoader.cs
- FramingFormat.cs
- DictionarySectionHandler.cs
- SessionStateSection.cs
- NameValueSectionHandler.cs
- CheckBoxList.cs
- PathFigureCollectionConverter.cs
- LambdaExpression.cs
- BasicCommandTreeVisitor.cs
- ProfileModule.cs
- DataService.cs
- PageSetupDialog.cs
- ObjectDataSourceDisposingEventArgs.cs
- LockCookie.cs
- ParagraphResult.cs
- GacUtil.cs
- ResourcePool.cs
- UrlAuthorizationModule.cs
- UIElement3D.cs
- EntitySetBaseCollection.cs
- DataSourceHelper.cs
- ResXResourceSet.cs
- PersistNameAttribute.cs
- MissingSatelliteAssemblyException.cs
- ErrorHandler.cs
- TextSelectionHelper.cs
- PopupRootAutomationPeer.cs
- MenuBase.cs
- TextureBrush.cs
- NativeActivityTransactionContext.cs
- ToolTipAutomationPeer.cs
- oledbmetadatacollectionnames.cs
- WorkflowApplicationAbortedEventArgs.cs
- TimeZone.cs
- Error.cs
- EventArgs.cs
- QilFunction.cs
- ProviderMetadataCachedInformation.cs
- Scripts.cs
- RandomNumberGenerator.cs
- BCLDebug.cs