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
- CodeLinePragma.cs
- ReversePositionQuery.cs
- ElementAtQueryOperator.cs
- GestureRecognizer.cs
- UIElementParagraph.cs
- UpDownBase.cs
- MatrixCamera.cs
- HScrollProperties.cs
- TCPClient.cs
- Decorator.cs
- XmlChildEnumerator.cs
- VersionUtil.cs
- TemplateKey.cs
- EventQueueState.cs
- SqlDataReaderSmi.cs
- Menu.cs
- KeyTimeConverter.cs
- Exceptions.cs
- WebPartManager.cs
- ModifierKeysConverter.cs
- ReferencedCollectionType.cs
- DynamicControlParameter.cs
- LoginViewDesigner.cs
- StructuralCache.cs
- Span.cs
- Latin1Encoding.cs
- IndentedTextWriter.cs
- XamlFigureLengthSerializer.cs
- InvalidDataContractException.cs
- ConfigurationProperty.cs
- ProcessExitedException.cs
- _IPv4Address.cs
- SafeNativeMethodsCLR.cs
- COM2PictureConverter.cs
- BoolExpressionVisitors.cs
- SchemaCollectionCompiler.cs
- URLAttribute.cs
- MergePropertyDescriptor.cs
- KeyManager.cs
- AutoScrollExpandMessageFilter.cs
- XmlNodeWriter.cs
- HuffModule.cs
- TransformCollection.cs
- SchemaImporterExtensionElement.cs
- TableColumn.cs
- Enum.cs
- GlyphTypeface.cs
- DataTableClearEvent.cs
- Adorner.cs
- SafeRightsManagementQueryHandle.cs
- FtpRequestCacheValidator.cs
- Fonts.cs
- ClientTarget.cs
- RegexStringValidator.cs
- HttpListener.cs
- ComponentChangingEvent.cs
- HasCopySemanticsAttribute.cs
- ElementUtil.cs
- XmlElementList.cs
- Normalization.cs
- SafeFileMappingHandle.cs
- CheckPair.cs
- InputEventArgs.cs
- XamlNamespaceHelper.cs
- PresentationSource.cs
- FileUtil.cs
- TextHidden.cs
- HtmlToClrEventProxy.cs
- ImageCollectionCodeDomSerializer.cs
- DbProviderFactoriesConfigurationHandler.cs
- DbTypeMap.cs
- SequenceFullException.cs
- ButtonBase.cs
- CodeTryCatchFinallyStatement.cs
- UnmanagedMemoryAccessor.cs
- RegexCompiler.cs
- TableDesigner.cs
- XmlWrappingReader.cs
- _BufferOffsetSize.cs
- CreateUserWizardStep.cs
- StylusButtonCollection.cs
- Matrix3DConverter.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- RSAOAEPKeyExchangeFormatter.cs
- CounterCreationDataCollection.cs
- TimeManager.cs
- LinkConverter.cs
- ByteStack.cs
- XmlSiteMapProvider.cs
- ThicknessAnimationUsingKeyFrames.cs
- SubMenuStyle.cs
- CodeVariableReferenceExpression.cs
- ArglessEventHandlerProxy.cs
- CompilerGlobalScopeAttribute.cs
- LocationEnvironment.cs
- ResourceReader.cs
- HostingEnvironment.cs
- NullPackagingPolicy.cs
- GreenMethods.cs
- WebPartManagerDesigner.cs