Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / Serialization / manager / ReachUIElementCollectionSerializer.cs / 1 / ReachUIElementCollectionSerializer.cs
/*++ Copyright (C) 2004- 2005 Microsoft Corporation All rights reserved. Module Name: ReachUIElementCollectionSerializer.cs Abstract: This file contains the definition of a class that defines the common functionality required to serialize a UIElementCollection Author: [....] ([....]) 1-December-2004 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.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 UIElementCollection. /// internal class ReachUIElementCollectionSerializer : ReachSerializer { #region Constructor ////// Constructor for class ReachUIElementCollectionSerializer /// /// /// The serialization manager, the services of which are /// used later in the serialization process of the type. /// public ReachUIElementCollectionSerializer( PackageSerializationManager manager ): base(manager) { } #endregion Constructor #region Public Methods ////// The main method that is called to serialize a UIElementCollection. /// /// /// Instance of object to be serialized. /// public override void SerializeObject( Object serializedObject ) { base.SerializeObject(serializedObject); } #endregion Public Methods #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 == null) { throw new ArgumentNullException("serializableObjectContext"); } IEnumerable enumerableObject = serializableObjectContext.TargetObject as IEnumerable; if (enumerableObject == null) { throw new XpsSerializationException(ReachSR.Get(ReachSRID.MustBeOfType, "serializableObjectContext.TargetObject", typeof(IEnumerable))); } // // Serialize the PageContent Items contained within the collection // SerializeUIElements(serializableObjectContext); } #endregion Internal Methods #region Private Methods ////// This is being called to serialize the Page Content items /// contained within the collection /// private void SerializeUIElements( SerializableObjectContext serializableObjectContext ) { // // Serialize each PageContent in PageContentCollection // foreach (object uiElement in (IEnumerable)serializableObjectContext.TargetObject) { if (uiElement != null) { // // Serialize the current ui element // SerializeUIElement(uiElement); } } } ////// Called to serialize a single UIElement /// private void SerializeUIElement( object uiElement ) { Visual visual = uiElement as Visual; if(visual != null) { ReachSerializer serializer = SerializationManager.GetSerializer(visual); if(serializer!=null) { serializer.SerializeObject(visual); } else { throw new XpsSerializationException(ReachSR.Get(ReachSRID.ReachSerialization_NoSerializer)); } } } #endregion Private 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
- X509CertificateInitiatorClientCredential.cs
- CannotUnloadAppDomainException.cs
- TitleStyle.cs
- __ConsoleStream.cs
- X509Certificate.cs
- InternalBufferManager.cs
- Atom10FormatterFactory.cs
- VirtualDirectoryMappingCollection.cs
- CornerRadius.cs
- DataContractJsonSerializer.cs
- EventArgs.cs
- PropertyInformationCollection.cs
- dbdatarecord.cs
- GridViewHeaderRowPresenter.cs
- PackageStore.cs
- CompressedStack.cs
- DecoderFallbackWithFailureFlag.cs
- SHA512.cs
- MultiSelectRootGridEntry.cs
- Int32AnimationBase.cs
- ScrollContentPresenter.cs
- SynchronizationScope.cs
- COM2TypeInfoProcessor.cs
- TextRangeSerialization.cs
- FileClassifier.cs
- TokenBasedSet.cs
- GridPattern.cs
- EventPropertyMap.cs
- rsa.cs
- MDIClient.cs
- ProtocolProfile.cs
- SimpleRecyclingCache.cs
- X509ChainElement.cs
- NCryptSafeHandles.cs
- RegexMatchCollection.cs
- SqlIdentifier.cs
- HttpCookie.cs
- Canvas.cs
- ForEachAction.cs
- DictionaryMarkupSerializer.cs
- EntityException.cs
- DataGridSortCommandEventArgs.cs
- GridViewCancelEditEventArgs.cs
- _ListenerAsyncResult.cs
- InputReport.cs
- FrameworkReadOnlyPropertyMetadata.cs
- SmiEventStream.cs
- PaperSource.cs
- MailFileEditor.cs
- ProfileSettingsCollection.cs
- ConfigsHelper.cs
- EventLog.cs
- InstanceDataCollectionCollection.cs
- SpecialNameAttribute.cs
- DataKeyArray.cs
- NumericExpr.cs
- Transaction.cs
- SizeLimitedCache.cs
- WorkflowEnvironment.cs
- NegotiateStream.cs
- ProviderSettings.cs
- MessageQueueConverter.cs
- DynamicResourceExtension.cs
- WorkflowFileItem.cs
- ArgumentDesigner.xaml.cs
- While.cs
- PointAnimationBase.cs
- coordinatorscratchpad.cs
- SingleObjectCollection.cs
- SqlCacheDependency.cs
- ControlBuilder.cs
- FontCollection.cs
- basecomparevalidator.cs
- LocatorGroup.cs
- NameValueFileSectionHandler.cs
- StyleTypedPropertyAttribute.cs
- WorkflowHostingEndpoint.cs
- ServiceNameElement.cs
- GridPattern.cs
- WebControlsSection.cs
- ConfigPathUtility.cs
- BinaryReader.cs
- RequestCacheManager.cs
- CorrelationToken.cs
- VolatileResourceManager.cs
- DeploymentSectionCache.cs
- MediaPlayerState.cs
- InsufficientExecutionStackException.cs
- SSmlParser.cs
- TagMapInfo.cs
- VersionedStream.cs
- ParenthesizePropertyNameAttribute.cs
- CompilerResults.cs
- ZipIORawDataFileBlock.cs
- DrawingState.cs
- PinnedBufferMemoryStream.cs
- FontFamily.cs
- ParsedAttributeCollection.cs
- Int16.cs
- OletxDependentTransaction.cs