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
- JapaneseCalendar.cs
- _AuthenticationState.cs
- ADMembershipProvider.cs
- BamlRecordWriter.cs
- ReadOnlyMetadataCollection.cs
- BamlRecordReader.cs
- RequestCachePolicy.cs
- Perspective.cs
- GridViewUpdateEventArgs.cs
- WebPartConnectVerb.cs
- Timer.cs
- Size.cs
- TablePattern.cs
- DataGridView.cs
- EntityKey.cs
- PerformanceCounter.cs
- BinaryFormatter.cs
- externdll.cs
- __Filters.cs
- DynamicRouteExpression.cs
- TypeUsageBuilder.cs
- PartitionResolver.cs
- BitmapEffectInputConnector.cs
- SearchExpression.cs
- RectAnimationUsingKeyFrames.cs
- Monitor.cs
- ModuleBuilder.cs
- UserPreferenceChangingEventArgs.cs
- TableColumnCollection.cs
- FilterQuery.cs
- SqlInternalConnectionSmi.cs
- ScaleTransform.cs
- DbConnectionOptions.cs
- ThicknessAnimation.cs
- TextBoxAutoCompleteSourceConverter.cs
- WebBrowsableAttribute.cs
- ChangeBlockUndoRecord.cs
- QueryCorrelationInitializer.cs
- AssemblyAttributesGoHere.cs
- DrawingAttributesDefaultValueFactory.cs
- TreeViewHitTestInfo.cs
- KeySpline.cs
- _SSPIWrapper.cs
- ConditionalDesigner.cs
- HMACSHA256.cs
- recordstatescratchpad.cs
- ProfessionalColorTable.cs
- SplineQuaternionKeyFrame.cs
- MetricEntry.cs
- CompletedAsyncResult.cs
- RootDesignerSerializerAttribute.cs
- OdbcError.cs
- WebConfigurationHost.cs
- NominalTypeEliminator.cs
- CodeGenHelper.cs
- NonParentingControl.cs
- ReflectionTypeLoadException.cs
- SelfIssuedTokenFactoryCredential.cs
- ContentPropertyAttribute.cs
- SecurityRuntime.cs
- Atom10FormatterFactory.cs
- ComponentDispatcher.cs
- XmlSerializerFactory.cs
- ResumeStoryboard.cs
- DependencyPropertyConverter.cs
- RotateTransform3D.cs
- SqlDataSourceSelectingEventArgs.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- BindingsCollection.cs
- XmlElement.cs
- EncodingFallbackAwareXmlTextWriter.cs
- AppModelKnownContentFactory.cs
- HttpRequestWrapper.cs
- ExpressionBindings.cs
- XmlBaseReader.cs
- ToolStripRenderer.cs
- CodeGroup.cs
- DataGridViewRowPrePaintEventArgs.cs
- LongCountAggregationOperator.cs
- TlsnegoTokenProvider.cs
- SchemaManager.cs
- ForwardPositionQuery.cs
- ServiceDescriptionImporter.cs
- HitTestWithPointDrawingContextWalker.cs
- TraceHwndHost.cs
- figurelength.cs
- HttpProfileBase.cs
- Scripts.cs
- FolderBrowserDialog.cs
- OleDbPropertySetGuid.cs
- ColorBlend.cs
- DocumentApplicationJournalEntry.cs
- NonSerializedAttribute.cs
- DataTransferEventArgs.cs
- NullableFloatSumAggregationOperator.cs
- DesignBindingConverter.cs
- GlobalProxySelection.cs
- WebEvents.cs
- FixedDocument.cs
- ClientConfigurationHost.cs