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
- DataContractSerializerSection.cs
- AssociationEndMember.cs
- CodeObjectCreateExpression.cs
- SharedConnectionWorkflowTransactionService.cs
- DoubleConverter.cs
- ChangeInterceptorAttribute.cs
- PropertyKey.cs
- ChannelFactoryBase.cs
- WhitespaceRule.cs
- BinaryReader.cs
- OdbcError.cs
- GridViewColumnHeaderAutomationPeer.cs
- IPPacketInformation.cs
- ProcessingInstructionAction.cs
- Attributes.cs
- AnchoredBlock.cs
- WebRequestModulesSection.cs
- EntityCommandExecutionException.cs
- IdentitySection.cs
- ThaiBuddhistCalendar.cs
- EmptyEnumerator.cs
- SoapFault.cs
- ShapeTypeface.cs
- StatusBar.cs
- wmiprovider.cs
- RawTextInputReport.cs
- ExpressionBuilder.cs
- ControlParameter.cs
- KnownAssembliesSet.cs
- SpeechEvent.cs
- ProxyManager.cs
- SqlGatherProducedAliases.cs
- BufferAllocator.cs
- InstanceHandle.cs
- EntityDataSourceMemberPath.cs
- TagMapCollection.cs
- UserMapPath.cs
- FocusTracker.cs
- UIElementCollection.cs
- CommonGetThemePartSize.cs
- MailDefinition.cs
- AuthenticationSection.cs
- ConnectionManager.cs
- TreeNodeMouseHoverEvent.cs
- ClaimComparer.cs
- WindowsUpDown.cs
- XmlSchemaSimpleType.cs
- SimpleBitVector32.cs
- MenuItemCollection.cs
- Expression.cs
- SystemInfo.cs
- TextParagraphView.cs
- QueryCacheEntry.cs
- MediaPlayer.cs
- RoleManagerSection.cs
- TextRange.cs
- EventHandlersDesigner.cs
- InputLanguage.cs
- DataGridRowClipboardEventArgs.cs
- DataViewListener.cs
- SupportingTokenProviderSpecification.cs
- DataObjectEventArgs.cs
- ListMarkerSourceInfo.cs
- ExtensibleClassFactory.cs
- XmlnsCache.cs
- DocumentViewerAutomationPeer.cs
- DesignerImageAdapter.cs
- PrtCap_Builder.cs
- TransformerConfigurationWizardBase.cs
- GlyphTypeface.cs
- DefaultBinder.cs
- SettingsAttributes.cs
- WebHttpSecurityElement.cs
- DataObjectPastingEventArgs.cs
- RequestStatusBarUpdateEventArgs.cs
- SymbolEqualComparer.cs
- HtmlGenericControl.cs
- WebPageTraceListener.cs
- wgx_render.cs
- WindowsListViewGroupHelper.cs
- XmlSchemaAll.cs
- ElasticEase.cs
- PngBitmapDecoder.cs
- JoinTreeNode.cs
- EventLogPermissionAttribute.cs
- Item.cs
- PeerSecurityHelpers.cs
- ListSourceHelper.cs
- BitmapFrameDecode.cs
- AssociationProvider.cs
- EntityContainerEmitter.cs
- AsymmetricSignatureFormatter.cs
- XmlWhitespace.cs
- HttpVersion.cs
- DataGridViewSelectedColumnCollection.cs
- SeekStoryboard.cs
- login.cs
- ContentFilePart.cs
- GlobalizationAssembly.cs
- FrameworkRichTextComposition.cs