Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- InfiniteIntConverter.cs
- EraserBehavior.cs
- Stylus.cs
- UpdateCommand.cs
- BufferedGraphicsContext.cs
- StringValueConverter.cs
- TreeView.cs
- XPathSelectionIterator.cs
- ColumnClickEvent.cs
- SqlNodeAnnotation.cs
- WebBrowserSiteBase.cs
- RedirectionProxy.cs
- CoTaskMemUnicodeSafeHandle.cs
- UserControlBuildProvider.cs
- MaterialGroup.cs
- SecurityAlgorithmSuite.cs
- EditingCoordinator.cs
- XPathDocumentIterator.cs
- SqlWebEventProvider.cs
- BrowserCapabilitiesFactory.cs
- PackagingUtilities.cs
- SelectionBorderGlyph.cs
- ObjectToIdCache.cs
- DataViewSetting.cs
- AsyncContentLoadedEventArgs.cs
- GlyphRunDrawing.cs
- Rotation3DKeyFrameCollection.cs
- ProviderIncompatibleException.cs
- DataObjectMethodAttribute.cs
- DayRenderEvent.cs
- AutomationPropertyChangedEventArgs.cs
- ThreadPool.cs
- IntellisenseTextBox.designer.cs
- HttpStreamXmlDictionaryWriter.cs
- BackStopAuthenticationModule.cs
- CodeAttributeDeclaration.cs
- DataGridViewMethods.cs
- BinaryMethodMessage.cs
- FrameworkRichTextComposition.cs
- TaiwanCalendar.cs
- ToolStripDropDownClosedEventArgs.cs
- HttpApplication.cs
- AutomationPatternInfo.cs
- WorkflowMarkupElementEventArgs.cs
- ActivityBindForm.cs
- HtmlLink.cs
- ConcatQueryOperator.cs
- ConfigDefinitionUpdates.cs
- AnnotationAuthorChangedEventArgs.cs
- ImportContext.cs
- SqlError.cs
- PointCollection.cs
- RangeValidator.cs
- ThrowHelper.cs
- DbConnectionPoolGroupProviderInfo.cs
- ResolvedKeyFrameEntry.cs
- WebPartZoneBase.cs
- SrgsDocument.cs
- CodeGeneratorOptions.cs
- RowUpdatingEventArgs.cs
- sortedlist.cs
- ReflectionPermission.cs
- ObjectResult.cs
- ZipIOFileItemStream.cs
- ColorTransform.cs
- Matrix3DValueSerializer.cs
- HttpProfileBase.cs
- StackSpiller.cs
- NativeMethods.cs
- WebPartMinimizeVerb.cs
- DataGridViewRowConverter.cs
- DefaultProxySection.cs
- AnnotationHelper.cs
- MarshalByValueComponent.cs
- Utility.cs
- AsymmetricSignatureDeformatter.cs
- PackageRelationshipCollection.cs
- PageParser.cs
- MultiSelectRootGridEntry.cs
- XmlUnspecifiedAttribute.cs
- RijndaelManaged.cs
- MultipartIdentifier.cs
- XmlNavigatorFilter.cs
- EntryIndex.cs
- XAMLParseException.cs
- LoginCancelEventArgs.cs
- Conditional.cs
- AutomationEventArgs.cs
- SequenceNumber.cs
- SpellCheck.cs
- StrongNameUtility.cs
- BadImageFormatException.cs
- SerializationEventsCache.cs
- _HelperAsyncResults.cs
- RuntimeConfig.cs
- EntityCommandCompilationException.cs
- XhtmlBasicLiteralTextAdapter.cs
- HostSecurityManager.cs
- UpdateCommand.cs
- FieldTemplateUserControl.cs