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
- TransformGroup.cs
- GroupItemAutomationPeer.cs
- TextDecorationCollectionConverter.cs
- IChannel.cs
- ConfigUtil.cs
- AssemblyInfo.cs
- Utility.cs
- EntityDataSourceValidationException.cs
- CompiledELinqQueryState.cs
- Annotation.cs
- ProofTokenCryptoHandle.cs
- FlowLayoutPanel.cs
- MergablePropertyAttribute.cs
- FileVersionInfo.cs
- HMACSHA1.cs
- TreeIterators.cs
- TransactionManager.cs
- CallSite.cs
- MimeParameters.cs
- StylusShape.cs
- Material.cs
- DbReferenceCollection.cs
- coordinatorscratchpad.cs
- LZCodec.cs
- XsltLibrary.cs
- InputScopeConverter.cs
- RowCache.cs
- MatrixAnimationUsingPath.cs
- TimeBoundedCache.cs
- StylusLogic.cs
- Track.cs
- PageThemeParser.cs
- MarkupWriter.cs
- EntityDataSourceValidationException.cs
- ICspAsymmetricAlgorithm.cs
- GradientStop.cs
- SimpleLine.cs
- GradientBrush.cs
- HierarchicalDataBoundControlAdapter.cs
- IdentitySection.cs
- PersistenceTypeAttribute.cs
- EntityContainerAssociationSetEnd.cs
- PasswordRecoveryAutoFormat.cs
- ListenerSessionConnection.cs
- RuntimeVariableList.cs
- DesignTimeParseData.cs
- SocketInformation.cs
- SessionEndedEventArgs.cs
- XMLSchema.cs
- SmiMetaData.cs
- HMACMD5.cs
- ListControl.cs
- PackageDigitalSignatureManager.cs
- MessageSecurityOverHttp.cs
- ExtendedProperty.cs
- Row.cs
- ClientRuntimeConfig.cs
- SqlConnectionStringBuilder.cs
- ObjectConverter.cs
- PropertyRecord.cs
- SourceItem.cs
- CodeDOMProvider.cs
- Variable.cs
- ObjectSecurity.cs
- EnvironmentPermission.cs
- UserPreferenceChangingEventArgs.cs
- Base64Stream.cs
- XXXInfos.cs
- ManagedFilter.cs
- Site.cs
- DnsPermission.cs
- HelpProvider.cs
- xsdvalidator.cs
- SqlUtils.cs
- TargetInvocationException.cs
- SQLBinary.cs
- securestring.cs
- SuppressMergeCheckAttribute.cs
- XXXOnTypeBuilderInstantiation.cs
- HtmlInputText.cs
- MsmqHostedTransportConfiguration.cs
- Misc.cs
- CalendarDay.cs
- ProfileManager.cs
- ContentType.cs
- ListParaClient.cs
- SectionRecord.cs
- Stroke.cs
- FontFamilyValueSerializer.cs
- NativeMethods.cs
- UnsafeNativeMethodsTablet.cs
- BitmapEffectGroup.cs
- BitArray.cs
- NumericPagerField.cs
- RecommendedAsConfigurableAttribute.cs
- StorageAssociationSetMapping.cs
- ExpressionBindingsDialog.cs
- RSACryptoServiceProvider.cs
- DataGridTableStyleMappingNameEditor.cs
- StatusBarItem.cs