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
- OleDbMetaDataFactory.cs
- SQLInt16Storage.cs
- CompilerState.cs
- ThreadStartException.cs
- DecimalAnimation.cs
- FormViewPagerRow.cs
- LexicalChunk.cs
- PrefixQName.cs
- securitycriticaldata.cs
- MultiTrigger.cs
- RoleManagerSection.cs
- Site.cs
- CheckoutException.cs
- GenericUriParser.cs
- HtmlWindowCollection.cs
- URLIdentityPermission.cs
- IisTraceWebEventProvider.cs
- PeerCollaborationPermission.cs
- ScriptingAuthenticationServiceSection.cs
- AspProxy.cs
- CodeTryCatchFinallyStatement.cs
- RemoveStoryboard.cs
- Util.cs
- DataGridViewBindingCompleteEventArgs.cs
- BackoffTimeoutHelper.cs
- PointUtil.cs
- FormsAuthenticationConfiguration.cs
- ProxyAttribute.cs
- BinaryObjectWriter.cs
- OrderByQueryOptionExpression.cs
- CustomCategoryAttribute.cs
- AssociationType.cs
- ClientRolePrincipal.cs
- CreateRefExpr.cs
- ScriptReferenceBase.cs
- ProcessHostMapPath.cs
- Facet.cs
- MetadataArtifactLoaderComposite.cs
- ConfigXmlAttribute.cs
- CompositeScriptReference.cs
- safex509handles.cs
- SoapHeaderAttribute.cs
- XmlDataSourceNodeDescriptor.cs
- PrePrepareMethodAttribute.cs
- QilPatternVisitor.cs
- DetailsViewDeletedEventArgs.cs
- SecurityRuntime.cs
- ExpressionList.cs
- ShadowGlyph.cs
- ManagementQuery.cs
- PeerConnector.cs
- OleDbRowUpdatingEvent.cs
- WorkItem.cs
- KeyedCollection.cs
- ToolStripTextBox.cs
- ThreadWorkerController.cs
- MutexSecurity.cs
- VirtualPathUtility.cs
- TreeViewHitTestInfo.cs
- KeyConverter.cs
- CngKey.cs
- VisualTreeUtils.cs
- ToolStripItemTextRenderEventArgs.cs
- TemplateContainer.cs
- MemoryRecordBuffer.cs
- QilTernary.cs
- ConnectAlgorithms.cs
- Executor.cs
- BufferAllocator.cs
- StrongNameUtility.cs
- Clipboard.cs
- RoutedEventArgs.cs
- GlobalEventManager.cs
- FrameworkElementFactoryMarkupObject.cs
- SiteIdentityPermission.cs
- XmlAttributes.cs
- Material.cs
- SymbolType.cs
- UIElement.cs
- AuthenticationModuleElement.cs
- OperandQuery.cs
- PriorityRange.cs
- ProfileGroupSettings.cs
- PageParserFilter.cs
- PersonalizationStateInfoCollection.cs
- SafeSecurityHandles.cs
- ScrollBar.cs
- RecognitionResult.cs
- TrustSection.cs
- XmlDomTextWriter.cs
- WebSysDisplayNameAttribute.cs
- MessageQueueInstaller.cs
- GeneralTransformCollection.cs
- COM2Enum.cs
- SoapAttributeAttribute.cs
- ClientRoleProvider.cs
- AspNetSynchronizationContext.cs
- ViewPort3D.cs
- PageCodeDomTreeGenerator.cs
- DataList.cs