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
- XsltException.cs
- ConfigurationElement.cs
- MeasureItemEvent.cs
- AudioFileOut.cs
- BitmapEffectGroup.cs
- ContextMenuStrip.cs
- Wildcard.cs
- GetMemberBinder.cs
- WindowsGrip.cs
- X509AsymmetricSecurityKey.cs
- MeasurementDCInfo.cs
- NodeLabelEditEvent.cs
- AnonymousIdentificationSection.cs
- DataGridViewAccessibleObject.cs
- SeverityFilter.cs
- BaseDataBoundControlDesigner.cs
- JoinElimination.cs
- DataControlFieldHeaderCell.cs
- InputLangChangeRequestEvent.cs
- RequestCachePolicy.cs
- GenericPrincipal.cs
- InvokeWebService.cs
- ViewStateException.cs
- ScrollBarRenderer.cs
- XmlDocumentType.cs
- KeyValuePair.cs
- AppSettingsSection.cs
- PriorityChain.cs
- SiteIdentityPermission.cs
- HtmlElementErrorEventArgs.cs
- PropertyMapper.cs
- ListViewHitTestInfo.cs
- Queue.cs
- CacheEntry.cs
- SEHException.cs
- QilGenerator.cs
- Point.cs
- Schema.cs
- Geometry.cs
- TextRangeEditTables.cs
- ValueTable.cs
- Variant.cs
- StubHelpers.cs
- KnownTypesProvider.cs
- HttpHostedTransportConfiguration.cs
- CryptoProvider.cs
- XamlClipboardData.cs
- SevenBitStream.cs
- ProxyGenerator.cs
- Brush.cs
- EasingKeyFrames.cs
- ElementAction.cs
- SQLBytes.cs
- WindowsRegion.cs
- LabelDesigner.cs
- DbLambda.cs
- ParameterReplacerVisitor.cs
- StringReader.cs
- URLIdentityPermission.cs
- DataServiceResponse.cs
- AddressHeaderCollectionElement.cs
- GeneralTransform2DTo3D.cs
- SystemKeyConverter.cs
- ShaderEffect.cs
- CalculatedColumn.cs
- DependencyPropertyHelper.cs
- JavascriptCallbackMessageInspector.cs
- OleDbReferenceCollection.cs
- Timeline.cs
- IListConverters.cs
- UrlUtility.cs
- NativeMethodsOther.cs
- XamlVector3DCollectionSerializer.cs
- WindowsHyperlink.cs
- safelinkcollection.cs
- DetailsViewRow.cs
- XPathQilFactory.cs
- Comparer.cs
- TaskExtensions.cs
- FigureHelper.cs
- UrlParameterWriter.cs
- EventDescriptor.cs
- PagePropertiesChangingEventArgs.cs
- ChangeInterceptorAttribute.cs
- XmlSchemaAny.cs
- SHA256Cng.cs
- DataControlCommands.cs
- XmlSerializerAssemblyAttribute.cs
- SchemaCreator.cs
- CharEntityEncoderFallback.cs
- Form.cs
- RequestBringIntoViewEventArgs.cs
- XPathPatternParser.cs
- RuleInfoComparer.cs
- ImageSource.cs
- OpenFileDialog.cs
- SessionStateModule.cs
- ResourcePermissionBaseEntry.cs
- exports.cs
- Bits.cs