Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Documents / DynamicDocumentPaginator.cs / 1 / DynamicDocumentPaginator.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // File: DynamicDocumentPaginator.cs // // Description: Defines advanced methods and properties for paginating layouts, // such as background pagination and methods for tracking content // positions across repaginations. // // History: // 08/29/2005 : [....] - created. // //--------------------------------------------------------------------------- using System.ComponentModel; // AsyncCompletedEventArgs using MS.Internal.PresentationCore; // SR, SRID namespace System.Windows.Documents { ////// Defines advanced methods and properties for paginating layouts, such /// as background pagination and methods for tracking content positions /// across repaginations. /// public abstract class DynamicDocumentPaginator : DocumentPaginator { //------------------------------------------------------------------- // // Public Methods // //------------------------------------------------------------------- #region Public Methods ////// Returns the page number on which the ContentPosition appears. /// /// Content position. ////// Returns the page number on which the ContentPosition appears. /// ////// Throws ArgumentException if the ContentPosition does not exist within /// this element's tree. /// public abstract int GetPageNumber(ContentPosition contentPosition); ////// Async version of /// Content position. ////// /// Throws ArgumentException if the ContentPosition does not exist within /// this element's tree. /// public virtual void GetPageNumberAsync(ContentPosition contentPosition) { GetPageNumberAsync(contentPosition, null); } ////// Async version of /// Content position. /// Unique identifier for the asynchronous task. ////// /// Throws ArgumentException if the ContentPosition does not exist within /// this element�s tree. /// public virtual void GetPageNumberAsync(ContentPosition contentPosition, object userState) { int pageNumber; // Content position cannot be null. if (contentPosition == null) { throw new ArgumentNullException("contentPosition"); } // Content position cannot be Missing. if (contentPosition == ContentPosition.Missing) { throw new ArgumentException(SR.Get(SRID.PaginatorMissingContentPosition), "contentPosition"); } pageNumber = GetPageNumber(contentPosition); OnGetPageNumberCompleted(new GetPageNumberCompletedEventArgs(contentPosition, pageNumber, null, false, userState)); } ////// Returns the ContentPosition for the given page. /// /// Document page. ///Returns the ContentPosition for the given page. ////// Throws ArgumentException if the page is not valid. /// public abstract ContentPosition GetPagePosition(DocumentPage page); ////// Returns the ContentPosition for an object within the content. /// /// Object within this element's tree. ///Returns the ContentPosition for an object within the content. ////// Throws ArgumentException if the object does not exist within this element's tree. /// public abstract ContentPosition GetObjectPosition(Object value); #endregion Public Methods //-------------------------------------------------------------------- // // Public Properties // //------------------------------------------------------------------- #region Public Properties ////// Whether content is paginated in the background. /// When True, the Paginator will paginate its content in the background, /// firing the PaginationCompleted and PaginationProgress events as appropriate. /// Background pagination begins immediately when set to True. If the /// PageSize is modified and this property is set to True, then all pages /// will be repaginated and existing pages may be destroyed. /// The default value is False. /// public virtual bool IsBackgroundPaginationEnabled { get { return false; } set { } } #endregion Public Properties //-------------------------------------------------------------------- // // Public Events // //-------------------------------------------------------------------- #region Public Events ////// Fired when a GetPageNumberAsync call has completed. /// public event GetPageNumberCompletedEventHandler GetPageNumberCompleted; ////// Fired when all document content has been paginated. After this event /// IsPageCountValid will be True. /// public event EventHandler PaginationCompleted; ////// Fired when background pagination is enabled, indicating which pages /// have been formatted and are available. /// public event PaginationProgressEventHandler PaginationProgress; #endregion Public Events //------------------------------------------------------------------- // // Protected Methods // //-------------------------------------------------------------------- #region Protected Methods ////// Override for subclasses that wish to add logic when this event is fired. /// /// Event arguments for the GetPageNumberCompleted event. protected virtual void OnGetPageNumberCompleted(GetPageNumberCompletedEventArgs e) { if (this.GetPageNumberCompleted != null) { this.GetPageNumberCompleted(this, e); } } ////// Override for subclasses that wish to add logic when this event is fired. /// /// Event arguments for the PaginationProgress event. protected virtual void OnPaginationProgress(PaginationProgressEventArgs e) { if (this.PaginationProgress != null) { this.PaginationProgress(this, e); } } ////// Override for subclasses that wish to add logic when this event is fired. /// /// Event arguments for the PaginationCompleted event. protected virtual void OnPaginationCompleted(EventArgs e) { if (this.PaginationCompleted != null) { this.PaginationCompleted(this, e); } } #endregion Protected Methods } } // 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
- DataListItemCollection.cs
- DataReceivedEventArgs.cs
- ClientScriptManager.cs
- GridViewDeletedEventArgs.cs
- TypographyProperties.cs
- Rotation3DAnimationUsingKeyFrames.cs
- AppDomainFactory.cs
- MemberMaps.cs
- RequestQueryParser.cs
- assemblycache.cs
- CallSiteHelpers.cs
- AccessText.cs
- AmbientProperties.cs
- LogEntryHeaderSerializer.cs
- Typography.cs
- PixelFormatConverter.cs
- WS2007HttpBinding.cs
- CompiledRegexRunnerFactory.cs
- GB18030Encoding.cs
- IfAction.cs
- TextEndOfLine.cs
- ResolveNameEventArgs.cs
- ToolStripControlHost.cs
- ObjectHandle.cs
- FileLoadException.cs
- PageThemeCodeDomTreeGenerator.cs
- FixedStringLookup.cs
- ScriptingScriptResourceHandlerSection.cs
- HybridDictionary.cs
- NavigationProperty.cs
- safesecurityhelperavalon.cs
- CodeDelegateInvokeExpression.cs
- TagPrefixInfo.cs
- QueryException.cs
- EnumerableRowCollectionExtensions.cs
- CleanUpVirtualizedItemEventArgs.cs
- Geometry3D.cs
- DataControlLinkButton.cs
- ImmComposition.cs
- FixedElement.cs
- IndexedGlyphRun.cs
- TextReturnReader.cs
- GridViewEditEventArgs.cs
- HttpHostedTransportConfiguration.cs
- SystemIPInterfaceProperties.cs
- WindowsStatusBar.cs
- DefaultClaimSet.cs
- UnionExpr.cs
- ComponentSerializationService.cs
- ValidationRuleCollection.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- SqlTypeSystemProvider.cs
- RC2CryptoServiceProvider.cs
- RegisteredArrayDeclaration.cs
- XmlExtensionFunction.cs
- ThumbButtonInfoCollection.cs
- EditBehavior.cs
- ValueTypePropertyReference.cs
- XmlSchemaIdentityConstraint.cs
- WindowHideOrCloseTracker.cs
- UpdateManifestForBrowserApplication.cs
- RandomNumberGenerator.cs
- SqlProvider.cs
- EndGetFileNameFromUserRequest.cs
- WSTrust.cs
- Base64Decoder.cs
- TriggerActionCollection.cs
- SmiEventSink_DeferedProcessing.cs
- FileAuthorizationModule.cs
- ContextMenu.cs
- __Error.cs
- EventSetterHandlerConverter.cs
- ChangeBlockUndoRecord.cs
- SqlPersonalizationProvider.cs
- SqlErrorCollection.cs
- TCEAdapterGenerator.cs
- Double.cs
- ReflectTypeDescriptionProvider.cs
- DesignTimeTemplateParser.cs
- PopupRootAutomationPeer.cs
- PrintController.cs
- Transactions.cs
- StaticDataManager.cs
- MenuItem.cs
- Receive.cs
- _AutoWebProxyScriptHelper.cs
- ContainerFilterService.cs
- InlineUIContainer.cs
- EntityDataSourceContainerNameItem.cs
- KeyProperty.cs
- EntityContainerRelationshipSetEnd.cs
- FilteredSchemaElementLookUpTable.cs
- Int32Converter.cs
- ChannelManager.cs
- BamlResourceSerializer.cs
- CrossContextChannel.cs
- MsmqMessageProperty.cs
- ProfileManager.cs
- Storyboard.cs
- mediaeventshelper.cs