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
- CodeParameterDeclarationExpression.cs
- SpeakProgressEventArgs.cs
- UIElementHelper.cs
- UnsafeNativeMethodsPenimc.cs
- configsystem.cs
- DbBuffer.cs
- _NetworkingPerfCounters.cs
- HttpRequestWrapper.cs
- TransformConverter.cs
- HwndKeyboardInputProvider.cs
- CurrentChangingEventArgs.cs
- MailDefinitionBodyFileNameEditor.cs
- AuthorizationBehavior.cs
- _IPv6Address.cs
- FontStretchConverter.cs
- TreeNodeConverter.cs
- Utils.cs
- DynamicUpdateCommand.cs
- PropertyConverter.cs
- CannotUnloadAppDomainException.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- ServiceHttpModule.cs
- AffineTransform3D.cs
- TdsParserStateObject.cs
- Root.cs
- AuthenticationServiceManager.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- ASCIIEncoding.cs
- DesignerSerializationVisibilityAttribute.cs
- _NtlmClient.cs
- Underline.cs
- GroupBoxDesigner.cs
- FrameworkTextComposition.cs
- CodeMemberProperty.cs
- TimeStampChecker.cs
- StatusStrip.cs
- Pen.cs
- Brushes.cs
- WebPartDisplayModeCollection.cs
- EmptyQuery.cs
- ClientProtocol.cs
- ComplexTypeEmitter.cs
- Keywords.cs
- Utils.cs
- IntPtr.cs
- RegexStringValidator.cs
- ValidatorCompatibilityHelper.cs
- x509utils.cs
- SystemNetHelpers.cs
- BuildProviderCollection.cs
- HtmlEmptyTagControlBuilder.cs
- ADRoleFactoryConfiguration.cs
- Latin1Encoding.cs
- CalendarDateChangedEventArgs.cs
- HtmlHistory.cs
- Object.cs
- shaperfactoryquerycachekey.cs
- NumberFormatInfo.cs
- ImageSource.cs
- WebPartConnectionsCancelEventArgs.cs
- EntityModelBuildProvider.cs
- ScrollChrome.cs
- TextRange.cs
- RSAOAEPKeyExchangeFormatter.cs
- XmlHierarchicalDataSourceView.cs
- Run.cs
- SystemWebCachingSectionGroup.cs
- ComponentCollection.cs
- WindowsButton.cs
- XamlTreeBuilder.cs
- DBDataPermission.cs
- MimeParameter.cs
- CaseInsensitiveComparer.cs
- StateDesigner.TransitionInfo.cs
- Activator.cs
- SqlBooleanizer.cs
- StoragePropertyMapping.cs
- SQLGuidStorage.cs
- DriveNotFoundException.cs
- BamlTreeUpdater.cs
- Delegate.cs
- DbParameterHelper.cs
- KnowledgeBase.cs
- StringArrayConverter.cs
- IPHostEntry.cs
- DataReceivedEventArgs.cs
- MissingSatelliteAssemblyException.cs
- XsltConvert.cs
- InputReportEventArgs.cs
- X509SecurityTokenProvider.cs
- MetadataItemEmitter.cs
- VersionValidator.cs
- ExceptionTrace.cs
- SqlResolver.cs
- AssociationEndMember.cs
- SortExpressionBuilder.cs
- ChooseAction.cs
- ToggleButton.cs
- XmlMemberMapping.cs
- ReplyChannel.cs