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
- SqlUserDefinedAggregateAttribute.cs
- TransformDescriptor.cs
- UIElement.cs
- BindingContext.cs
- __ConsoleStream.cs
- TreeViewItem.cs
- SchemaImporterExtension.cs
- LambdaCompiler.Address.cs
- RepeaterItemEventArgs.cs
- TextBoxLine.cs
- TableParaClient.cs
- XmlJsonWriter.cs
- AsyncResult.cs
- ToolBar.cs
- Composition.cs
- DelayedRegex.cs
- InteropExecutor.cs
- XmlBaseWriter.cs
- ISSmlParser.cs
- FlowDocumentPageViewerAutomationPeer.cs
- ValidatorUtils.cs
- BCLDebug.cs
- BulletedListEventArgs.cs
- WpfXamlLoader.cs
- SecurityRequiresReviewAttribute.cs
- ObjectNavigationPropertyMapping.cs
- SQLBinary.cs
- OptimisticConcurrencyException.cs
- SpellerHighlightLayer.cs
- DefaultProxySection.cs
- SecurityUniqueId.cs
- CounterSampleCalculator.cs
- DiscreteKeyFrames.cs
- NumericPagerField.cs
- StylusPointCollection.cs
- ToolStripRendererSwitcher.cs
- XmlQueryTypeFactory.cs
- LinqDataSourceStatusEventArgs.cs
- EventPrivateKey.cs
- RowsCopiedEventArgs.cs
- BitmapEffectInput.cs
- processwaithandle.cs
- WindowsGraphicsWrapper.cs
- DocumentScope.cs
- XslException.cs
- LinqDataSource.cs
- AutoGeneratedField.cs
- ErrorInfoXmlDocument.cs
- propertytag.cs
- FlowDocumentView.cs
- WindowsListViewGroup.cs
- SimpleColumnProvider.cs
- _Win32.cs
- TabPanel.cs
- GridViewRowEventArgs.cs
- CaseKeyBox.ViewModel.cs
- TextElementCollection.cs
- LayoutUtils.cs
- TypeLoadException.cs
- RuleProcessor.cs
- DbMetaDataCollectionNames.cs
- StorageAssociationTypeMapping.cs
- HotSpotCollection.cs
- Debug.cs
- HostSecurityManager.cs
- Trace.cs
- PackagePart.cs
- FileDetails.cs
- Graphics.cs
- DataGridColumnReorderingEventArgs.cs
- XamlBrushSerializer.cs
- SmtpNetworkElement.cs
- StringUtil.cs
- ByteStack.cs
- SqlTypesSchemaImporter.cs
- ListItemCollection.cs
- WebPartConnection.cs
- StylusButton.cs
- SafeNativeMethods.cs
- MetaModel.cs
- BufferedConnection.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- TextComposition.cs
- XmlRootAttribute.cs
- StringFunctions.cs
- GiveFeedbackEventArgs.cs
- SrgsRuleRef.cs
- NumberAction.cs
- KernelTypeValidation.cs
- Double.cs
- ApplicationFileCodeDomTreeGenerator.cs
- TopClause.cs
- ObjectDataSourceEventArgs.cs
- TemplatedWizardStep.cs
- ExcCanonicalXml.cs
- IgnoreSectionHandler.cs
- PrimitiveCodeDomSerializer.cs
- HttpsTransportElement.cs
- EditableTreeList.cs
- VectorKeyFrameCollection.cs