Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / Serialization / manager / ReachPageContentSerializerAsync.cs / 1 / ReachPageContentSerializerAsync.cs
/*++ Copyright (C) 2004- 2005 Microsoft Corporation All rights reserved. Module Name: ReachPageContentSerializerAsync.cs Abstract: This file contains the definition of a class that defines the common functionality required to serialize a PageContent. Author: [....] ([....]) 25-May-2005 Revision History: --*/ using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.Diagnostics; using System.Reflection; using System.Xml; using System.IO; using System.Printing; using System.Security; using System.Security.Permissions; using System.ComponentModel.Design.Serialization; using System.Windows.Xps.Packaging; using System.Windows.Documents; using System.Windows.Media; using System.Windows.Markup; namespace System.Windows.Xps.Serialization { ////// Class defining common functionality required to /// serialize a ReachPageContentSerializer. /// internal class ReachPageContentSerializerAsync : ReachSerializerAsync { #region Constructor ////// Constructor for class ReachPageContentSerializer /// /// /// The serialization manager, the services of which are /// used later in the serialization process of the type. /// public ReachPageContentSerializerAsync( PackageSerializationManager manager ): base(manager) { } #endregion Constructor #region Public Methods ////// /// public override void AsyncOperation( ReachSerializerContext context ) { if(context == null) { } switch (context.Action) { case SerializerAction.serializePage: { SerializePage(context.ObjectContext); break; } default: { base.AsyncOperation(context); break; } } } #endregion #region Internal Methods ////// The method is called once the object data is discovered at that /// point of the serialization process. /// /// /// The context of the object to be serialized at this time. /// internal override void PersistObjectData( SerializableObjectContext serializableObjectContext ) { if(serializableObjectContext.IsComplexValue) { ReachSerializerContext context = new ReachSerializerContext(this, serializableObjectContext, SerializerAction.serializePage); ((XpsSerializationManagerAsync)SerializationManager).OperationStack.Push(context); } else { throw new XpsSerializationException(ReachSR.Get(ReachSRID.ReachSerialization_WrongPropertyTypeForPageContent)); } } private void SerializePage( SerializableObjectContext serializableObjectContext ) { FixedPage fixedPage = Toolbox.GetPageRoot(serializableObjectContext.TargetObject); if(fixedPage != null) { ReachSerializer serializer = SerializationManager.GetSerializer(fixedPage); if(serializer!=null) { XpsSerializationPrintTicketRequiredEventArgs e = new XpsSerializationPrintTicketRequiredEventArgs(PrintTicketLevel.FixedPagePrintTicket, 0); ((XpsSerializationManagerAsync)SerializationManager).OnXPSSerializationPrintTicketRequired(e); PrintTicket printTicket = null; if( e.Modified ) { printTicket = e.PrintTicket; } Toolbox.Layout(fixedPage, printTicket); ((XpsSerializationManagerAsync)SerializationManager).FixedPagePrintTicket = printTicket; serializer.SerializeObject(fixedPage); } else { throw new XpsSerializationException(ReachSR.Get(ReachSRID.ReachSerialization_NoSerializer)); } } } #endregion Internal 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
- EventItfInfo.cs
- EventProviderWriter.cs
- DataGridViewHeaderCell.cs
- EasingKeyFrames.cs
- Code.cs
- PowerModeChangedEventArgs.cs
- PageThemeBuildProvider.cs
- SvcMapFileLoader.cs
- DependencyObjectPropertyDescriptor.cs
- TerminateDesigner.cs
- CleanUpVirtualizedItemEventArgs.cs
- CFStream.cs
- XmlSchemaGroupRef.cs
- CalendarDesigner.cs
- RealProxy.cs
- EventData.cs
- KeyProperty.cs
- ItemType.cs
- JsonQueryStringConverter.cs
- FrameSecurityDescriptor.cs
- VerificationException.cs
- QueryExpr.cs
- RemotingServices.cs
- DataGridPageChangedEventArgs.cs
- LineGeometry.cs
- ErrorLog.cs
- WebResourceAttribute.cs
- PeerObject.cs
- IssuedTokenClientBehaviorsElementCollection.cs
- ObjectTag.cs
- MailBnfHelper.cs
- CompositionTarget.cs
- NumberSubstitution.cs
- WebBrowserNavigatedEventHandler.cs
- ClickablePoint.cs
- TreeNodeMouseHoverEvent.cs
- SecurityState.cs
- RequestNavigateEventArgs.cs
- TimeZone.cs
- _NestedSingleAsyncResult.cs
- StrongNameKeyPair.cs
- HtmlButton.cs
- MimeTypeMapper.cs
- EncoderExceptionFallback.cs
- LinkedList.cs
- FormViewDeleteEventArgs.cs
- DynamicQueryableWrapper.cs
- InheritanceUI.cs
- CellCreator.cs
- InternalPolicyElement.cs
- ProcessHostFactoryHelper.cs
- TreeChangeInfo.cs
- CodeAttributeDeclarationCollection.cs
- UserControlParser.cs
- HitTestWithPointDrawingContextWalker.cs
- TypeReference.cs
- HScrollBar.cs
- BindableTemplateBuilder.cs
- Utils.cs
- XmlMembersMapping.cs
- ProcessModule.cs
- DrawListViewItemEventArgs.cs
- handlecollector.cs
- DocumentViewerAutomationPeer.cs
- DbInsertCommandTree.cs
- WhitespaceSignificantCollectionAttribute.cs
- DataGridCommandEventArgs.cs
- AuthorizationContext.cs
- XmlSchemaException.cs
- WebPartConnectionsConfigureVerb.cs
- CustomAttributeSerializer.cs
- CompilerWrapper.cs
- SafeArrayTypeMismatchException.cs
- ProtectedConfigurationSection.cs
- UserNameSecurityToken.cs
- BookmarkEventArgs.cs
- SpellerError.cs
- DynamicEntity.cs
- Mouse.cs
- EmptyEnumerator.cs
- SyntaxCheck.cs
- XpsFilter.cs
- ConfigXmlText.cs
- MsmqUri.cs
- DataPagerCommandEventArgs.cs
- CharacterShapingProperties.cs
- UrlAuthFailureHandler.cs
- AlgoModule.cs
- AddInAttribute.cs
- LayoutInformation.cs
- SHA384.cs
- TextSpanModifier.cs
- ObjectListGeneralPage.cs
- SafeProcessHandle.cs
- TextTrailingCharacterEllipsis.cs
- MenuCommands.cs
- HttpGetClientProtocol.cs
- HttpRequestContext.cs
- TreeViewEvent.cs
- StringArrayEditor.cs