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
- SamlEvidence.cs
- CompilerCollection.cs
- StylusDownEventArgs.cs
- List.cs
- WebServiceTypeData.cs
- Table.cs
- XmlQueryType.cs
- SynchronizedInputAdaptor.cs
- ErrorTableItemStyle.cs
- COM2IProvidePropertyBuilderHandler.cs
- AndMessageFilterTable.cs
- ExpressionBuilderCollection.cs
- CountdownEvent.cs
- RowToParametersTransformer.cs
- DetailsViewPagerRow.cs
- LifetimeServices.cs
- TableLayoutRowStyleCollection.cs
- FileDialogCustomPlacesCollection.cs
- ToolStripMenuItemCodeDomSerializer.cs
- SessionParameter.cs
- CacheOutputQuery.cs
- DragEventArgs.cs
- SqlExpressionNullability.cs
- FilterQuery.cs
- LinkedResourceCollection.cs
- Sql8ConformanceChecker.cs
- SqlConnection.cs
- InternalControlCollection.cs
- SapiGrammar.cs
- Bits.cs
- MethodBuilderInstantiation.cs
- ChainOfResponsibility.cs
- SizeConverter.cs
- StyleSelector.cs
- WebBrowserHelper.cs
- BehaviorDragDropEventArgs.cs
- DynamicResourceExtension.cs
- OleDbEnumerator.cs
- WebBrowserNavigatedEventHandler.cs
- AutomationPatternInfo.cs
- BitmapImage.cs
- ThreadAbortException.cs
- XamlPathDataSerializer.cs
- BigInt.cs
- DiagnosticTraceRecords.cs
- jithelpers.cs
- MatrixTransform3D.cs
- OwnerDrawPropertyBag.cs
- DataGridViewCellMouseEventArgs.cs
- WebInvokeAttribute.cs
- SspiSafeHandles.cs
- ProvidePropertyAttribute.cs
- SessionKeyExpiredException.cs
- SyndicationDeserializer.cs
- XsltOutput.cs
- DataGridPageChangedEventArgs.cs
- EntityViewGenerationAttribute.cs
- SystemSounds.cs
- WindowsGraphicsCacheManager.cs
- ComponentConverter.cs
- EdgeProfileValidation.cs
- PreservationFileReader.cs
- ClientSettingsSection.cs
- MexHttpsBindingCollectionElement.cs
- safelinkcollection.cs
- Crc32.cs
- SerializerProvider.cs
- DefaultEventAttribute.cs
- ServiceBehaviorElementCollection.cs
- UIElement.cs
- FilteredDataSetHelper.cs
- LogLogRecord.cs
- HyperLinkField.cs
- XmlSignatureProperties.cs
- EndpointDiscoveryBehavior.cs
- ISSmlParser.cs
- Stack.cs
- DependencyPropertyConverter.cs
- SystemBrushes.cs
- DataGridViewCheckBoxColumn.cs
- PhysicalOps.cs
- FontCacheUtil.cs
- SupportingTokenParameters.cs
- FixedSOMContainer.cs
- PathTooLongException.cs
- DictionaryKeyPropertyAttribute.cs
- BitmapEffectDrawingContextWalker.cs
- TabControlCancelEvent.cs
- MouseGesture.cs
- DataGridAddNewRow.cs
- Normalizer.cs
- SystemInformation.cs
- PenLineCapValidation.cs
- XDeferredAxisSource.cs
- ApplicationServicesHostFactory.cs
- RtfControlWordInfo.cs
- ConstantExpression.cs
- Geometry.cs
- UrlRoutingHandler.cs
- CommentEmitter.cs