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
- PhysicalAddress.cs
- TableCell.cs
- ServiceTimeoutsElement.cs
- Rectangle.cs
- CommonProperties.cs
- HtmlElement.cs
- SystemUdpStatistics.cs
- WinCategoryAttribute.cs
- VectorCollectionConverter.cs
- IPHostEntry.cs
- _DigestClient.cs
- Int32RectValueSerializer.cs
- RawStylusSystemGestureInputReport.cs
- BrowserCapabilitiesFactory.cs
- DataGridViewLinkColumn.cs
- LoginCancelEventArgs.cs
- RecordsAffectedEventArgs.cs
- UnsafeNativeMethods.cs
- PassportIdentity.cs
- EntityType.cs
- ResumeStoryboard.cs
- HttpException.cs
- XslUrlEditor.cs
- XmlTypeAttribute.cs
- TCEAdapterGenerator.cs
- BlockUIContainer.cs
- TreeViewImageGenerator.cs
- QueueSurrogate.cs
- WindowsListViewScroll.cs
- CultureInfoConverter.cs
- ListViewDataItem.cs
- KeyTime.cs
- RequestCacheManager.cs
- streamingZipPartStream.cs
- WebControlsSection.cs
- PrintPageEvent.cs
- DictionarySectionHandler.cs
- LogWriteRestartAreaState.cs
- BamlTreeNode.cs
- DynamicMethod.cs
- MediaContextNotificationWindow.cs
- SQLDecimalStorage.cs
- UntrustedRecipientException.cs
- Accessible.cs
- AccessedThroughPropertyAttribute.cs
- SynchronizingStream.cs
- SamlAuthorityBinding.cs
- GlobalEventManager.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- EditCommandColumn.cs
- MultiSelectRootGridEntry.cs
- BehaviorEditorPart.cs
- ValidationErrorEventArgs.cs
- PeerTransportSecurityElement.cs
- ProcessModelSection.cs
- NativeMethodsOther.cs
- EraserBehavior.cs
- BookmarkNameHelper.cs
- PropertyConverter.cs
- SerializerDescriptor.cs
- ProxyHelper.cs
- CLSCompliantAttribute.cs
- Mouse.cs
- TdsValueSetter.cs
- ByteStorage.cs
- TableColumn.cs
- XmlMemberMapping.cs
- ScrollBar.cs
- FixUp.cs
- PaginationProgressEventArgs.cs
- AssemblyContextControlItem.cs
- HttpRequestTraceRecord.cs
- OverflowException.cs
- ProcessThread.cs
- Dump.cs
- basevalidator.cs
- XPathException.cs
- SchemaNotation.cs
- UnauthorizedWebPart.cs
- Utils.cs
- SelectorItemAutomationPeer.cs
- ContractMapping.cs
- PageSettings.cs
- CapabilitiesUse.cs
- ChangeDirector.cs
- MethodMessage.cs
- SendingRequestEventArgs.cs
- ServiceObjectContainer.cs
- LexicalChunk.cs
- UnsafeNativeMethods.cs
- CodeValidator.cs
- JpegBitmapEncoder.cs
- BookmarkScopeManager.cs
- basecomparevalidator.cs
- StylusTip.cs
- XPathNodeHelper.cs
- SoapElementAttribute.cs
- ButtonBaseDesigner.cs
- ResponseStream.cs
- CryptoConfig.cs