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
- SafeLocalMemHandle.cs
- Command.cs
- LambdaCompiler.Address.cs
- CodePageEncoding.cs
- DependencyPropertyValueSerializer.cs
- Themes.cs
- ThumbButtonInfo.cs
- TraceRecord.cs
- LineSegment.cs
- CodeAccessPermission.cs
- ChildTable.cs
- ScaleTransform.cs
- TextSchema.cs
- Animatable.cs
- SQLRoleProvider.cs
- OAVariantLib.cs
- BuildResult.cs
- SafeArchiveContext.cs
- SpecularMaterial.cs
- DBConcurrencyException.cs
- _NtlmClient.cs
- SerializationEventsCache.cs
- TypeBuilderInstantiation.cs
- RuntimeTrackingProfile.cs
- ProgressBar.cs
- DataGridColumnCollection.cs
- Vector3DKeyFrameCollection.cs
- MailAddress.cs
- WriteTimeStream.cs
- MinimizableAttributeTypeConverter.cs
- ClientScriptManager.cs
- DesignerRegionCollection.cs
- ResourceLoader.cs
- BuildProviderUtils.cs
- ResourcePool.cs
- SByte.cs
- TimeSpanSecondsConverter.cs
- MimeReflector.cs
- DataRecordObjectView.cs
- PreloadedPackages.cs
- DataGridViewCellEventArgs.cs
- ProtocolsConfigurationEntry.cs
- CqlGenerator.cs
- BitmapEffectInput.cs
- DetailsViewDeleteEventArgs.cs
- CacheAxisQuery.cs
- Int32AnimationBase.cs
- RepeaterItemEventArgs.cs
- _SSPISessionCache.cs
- OutputCacheSection.cs
- TreeView.cs
- NullReferenceException.cs
- RolePrincipal.cs
- FormatterServicesNoSerializableCheck.cs
- CheckBoxList.cs
- COSERVERINFO.cs
- ProtocolsConfigurationHandler.cs
- GridViewRow.cs
- WindowsListBox.cs
- ToolboxDataAttribute.cs
- CodeCommentStatementCollection.cs
- OleDbFactory.cs
- TextWriter.cs
- VirtualPathUtility.cs
- RuleConditionDialog.Designer.cs
- CorrelationQueryBehavior.cs
- HttpVersion.cs
- BamlTreeNode.cs
- TdsParser.cs
- MarshalDirectiveException.cs
- TableLayoutPanelCellPosition.cs
- Label.cs
- PropertyTabChangedEvent.cs
- EventLogHandle.cs
- CheckBoxAutomationPeer.cs
- EntityDataSourceEntitySetNameItem.cs
- ButtonRenderer.cs
- NamespaceImport.cs
- DoWhileDesigner.xaml.cs
- DSASignatureDeformatter.cs
- Socket.cs
- StreamGeometry.cs
- Membership.cs
- DataGridViewCellValidatingEventArgs.cs
- ClientCultureInfo.cs
- SqlFileStream.cs
- MediaElementAutomationPeer.cs
- Container.cs
- FileDialog.cs
- TextServicesDisplayAttributePropertyRanges.cs
- Accessible.cs
- BookmarkScopeManager.cs
- TypographyProperties.cs
- PasswordTextNavigator.cs
- TypedElement.cs
- RuleInfoComparer.cs
- CodeTryCatchFinallyStatement.cs
- Registry.cs
- StackOverflowException.cs
- TaskForm.cs