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
- ConstraintManager.cs
- CreateUserErrorEventArgs.cs
- HybridWebProxyFinder.cs
- PeerSecurityManager.cs
- PerformanceCounterPermissionEntry.cs
- StringUtil.cs
- UTF32Encoding.cs
- ReturnEventArgs.cs
- EventLogPermissionAttribute.cs
- ConsoleKeyInfo.cs
- FormViewUpdateEventArgs.cs
- DataList.cs
- HtmlInputText.cs
- HttpHostedTransportConfiguration.cs
- ProviderSettings.cs
- ApplicationManager.cs
- TextWriter.cs
- PersonalizationStateQuery.cs
- DataGridCell.cs
- CodeSnippetExpression.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- BamlResourceSerializer.cs
- LinqToSqlWrapper.cs
- SamlDelegatingWriter.cs
- TextServicesDisplayAttributePropertyRanges.cs
- WorkflowEnvironment.cs
- WebServicesSection.cs
- Control.cs
- RefreshEventArgs.cs
- DbProviderManifest.cs
- GridViewColumn.cs
- AmbientLight.cs
- UnsafePeerToPeerMethods.cs
- ChtmlTextWriter.cs
- RunClient.cs
- HiddenFieldPageStatePersister.cs
- Reference.cs
- ResourceAssociationSet.cs
- SerialReceived.cs
- SyndicationDeserializer.cs
- MultipleViewPatternIdentifiers.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- TextBoxLine.cs
- BackgroundWorker.cs
- ComAwareEventInfo.cs
- DefaultAsyncDataDispatcher.cs
- ScriptManagerProxy.cs
- CommandHelper.cs
- CapabilitiesUse.cs
- SqlDataSourceView.cs
- ColumnMapTranslator.cs
- TextHintingModeValidation.cs
- TemplatedEditableDesignerRegion.cs
- CodeArrayIndexerExpression.cs
- PolicyLevel.cs
- CommonDialog.cs
- VisualStyleTypesAndProperties.cs
- GenerateScriptTypeAttribute.cs
- User.cs
- StateRuntime.cs
- UrlMappingsModule.cs
- DefaultValidator.cs
- HitTestParameters.cs
- DynamicValidatorEventArgs.cs
- ReachPageContentSerializerAsync.cs
- NumberFunctions.cs
- ReaderWriterLock.cs
- SoapExtensionReflector.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- Logging.cs
- RequestCacheManager.cs
- HtmlGenericControl.cs
- C14NUtil.cs
- QueryOperator.cs
- WebResponse.cs
- WeakHashtable.cs
- PointCollection.cs
- UnicodeEncoding.cs
- PropertyIDSet.cs
- WebPartMovingEventArgs.cs
- XmlNodeReader.cs
- QueuedDeliveryRequirementsMode.cs
- ByteStack.cs
- CmsInterop.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- XmlReflectionMember.cs
- SharedStatics.cs
- RawStylusInputCustomDataList.cs
- SqlDependency.cs
- FontFamily.cs
- SqlMethods.cs
- XmlSchemaAll.cs
- RuntimeConfigurationRecord.cs
- SafeThemeHandle.cs
- ChannelManager.cs
- EntityContainer.cs
- XPathScanner.cs
- OutputCacheProfile.cs
- DataBoundControlAdapter.cs
- PanelStyle.cs