Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConfigXmlSignificantWhitespace.cs
- WebPartCatalogCloseVerb.cs
- TemplateBindingExtensionConverter.cs
- XamlSerializationHelper.cs
- TrackBarRenderer.cs
- ColorAnimationUsingKeyFrames.cs
- TextSegment.cs
- MetadataArtifactLoaderComposite.cs
- RoleManagerEventArgs.cs
- ReadonlyMessageFilter.cs
- HtmlGenericControl.cs
- TemplateParser.cs
- LocatorBase.cs
- ValidationSummary.cs
- MatrixUtil.cs
- WorkItem.cs
- SafeNativeMethodsOther.cs
- SiteMapSection.cs
- SuppressMessageAttribute.cs
- Boolean.cs
- DuplicateWaitObjectException.cs
- Dump.cs
- DatagridviewDisplayedBandsData.cs
- Formatter.cs
- StrokeNode.cs
- VirtualPathProvider.cs
- ScanQueryOperator.cs
- LinkArea.cs
- SimpleApplicationHost.cs
- UrlMappingCollection.cs
- EmissiveMaterial.cs
- ResourceCategoryAttribute.cs
- AnnotationService.cs
- DataServiceQuery.cs
- XPathNavigatorReader.cs
- SqlVisitor.cs
- IPPacketInformation.cs
- SqlDataSourceAdvancedOptionsForm.cs
- PropertyChangedEventManager.cs
- ToolStripItemClickedEventArgs.cs
- panel.cs
- ProjectionAnalyzer.cs
- UriTemplateVariablePathSegment.cs
- LocalizableResourceBuilder.cs
- TextEditorParagraphs.cs
- SignedPkcs7.cs
- InvalidEnumArgumentException.cs
- InkSerializer.cs
- CodeTypeDelegate.cs
- WindowsGraphics2.cs
- TemplateControlBuildProvider.cs
- StylusPointPropertyId.cs
- ToolStripPanelDesigner.cs
- XmlIncludeAttribute.cs
- FixedSchema.cs
- ServiceSecurityAuditBehavior.cs
- Int16Converter.cs
- ToolStripDropDownClosingEventArgs.cs
- EventSinkHelperWriter.cs
- ProfileEventArgs.cs
- coordinatorfactory.cs
- ExeContext.cs
- DataGridViewCellStyle.cs
- PolyBezierSegment.cs
- MetaModel.cs
- FilterQueryOptionExpression.cs
- ProxyGenerator.cs
- OdbcDataAdapter.cs
- KeyGesture.cs
- ManagementPath.cs
- Not.cs
- SimpleTableProvider.cs
- NullableConverter.cs
- Main.cs
- DynamicEntity.cs
- EntityDesignPluralizationHandler.cs
- EdmSchemaError.cs
- XmlSubtreeReader.cs
- XsltArgumentList.cs
- TypeKeyValue.cs
- SqlExpander.cs
- LightweightEntityWrapper.cs
- Point3DKeyFrameCollection.cs
- AuthStoreRoleProvider.cs
- AccessKeyManager.cs
- DeclaredTypeElementCollection.cs
- XPathNodeList.cs
- Interlocked.cs
- ToolStripButton.cs
- PrintDialogDesigner.cs
- UrlMapping.cs
- SqlServices.cs
- VisualBrush.cs
- AttachmentCollection.cs
- InstancePersistenceException.cs
- BindingContext.cs
- TextUtf8RawTextWriter.cs
- FontSource.cs
- InputReportEventArgs.cs
- StorageAssociationSetMapping.cs