Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / Packaging / XpsResource.cs / 1 / XpsResource.cs
/*++ Copyright (C) 2004 - 2005 Microsoft Corporation All rights reserved. Module Name: XpsResource.cs Abstract: This file contains the definition and implementation for the XpsResource class. This class acts as the base class for all resources that can be added to a Xps package. Author: [....] ([....]) 1-November-2004 Revision History: Brian Adleberg ([....] ) 12-July-2005 Reach -> Xps --*/ using System; using System.Collections.Generic; using System.IO; using System.IO.Packaging; namespace System.Windows.Xps.Packaging { ////// Base class for all Xps Resources /// ///part is null. public class XpsResource : XpsPartBase, INode, IDisposable { #region Constructors internal XpsResource( XpsManager xpsManager, INode parent, PackagePart part ) : base(xpsManager) { if (null == part) { throw new ArgumentNullException("part"); } this.Uri = part.Uri; _parentNode = parent; _metroPart = part; _partEditor = new PartEditor(_metroPart); } #endregion Constructors #region Public methods ////// This method retrieves the relative Uri for this resource /// based on a supplied absolute resource. /// /// /// Absolute Uri used for conversion. /// ////// A Uri to this resource relative to the supplied resource. /// public Uri RelativeUri( Uri inUri ) { if( inUri == null ) { throw new ArgumentNullException("inUri"); } return new Uri(XpsManager.MakeRelativePath(this.Uri, inUri), UriKind.Relative); } ////// This method retrieves a reference to the Stream that can /// be used to read and/or write data to/from this resource /// within the Metro package. /// ////// A reference to a writable/readable stream. /// public virtual Stream GetStream( ) { return _partEditor.DataStream; } ////// This method commits all changes for this resource /// public void Commit( ) { CommitInternal(); } ////// This method closes this resource part and frees all /// associated memory. /// internal override void CommitInternal() { if (_partEditor != null) { _partEditor.Close(); _partEditor = null; _metroPart = null; _parentNode = null; } } #endregion Public methods #region Private data private INode _parentNode; private PackagePart _metroPart; private PartEditor _partEditor; #endregion Private data #region INode implementation void INode.Flush( ) { if( _partEditor != null ) { // // Flush the part editor // _partEditor.Flush(); } } void INode.CommitInternal() { CommitInternal(); } PackagePart INode.GetPart( ) { return _metroPart; } #endregion INode implementation #region IDisposable implementation void IDisposable.Dispose() { if (_partEditor != null) { _partEditor.Close(); } } #endregion IDisposable implementation } } // 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
- FieldInfo.cs
- CharConverter.cs
- BlurBitmapEffect.cs
- SymmetricAlgorithm.cs
- AutoGeneratedFieldProperties.cs
- DesignerHost.cs
- MediaTimeline.cs
- Vector3DValueSerializer.cs
- EmptyReadOnlyDictionaryInternal.cs
- Int32RectConverter.cs
- Stylus.cs
- BrowserDefinitionCollection.cs
- WindowsStatic.cs
- Predicate.cs
- StringCollectionMarkupSerializer.cs
- ObjectDataSourceMethodEventArgs.cs
- DataGridCommandEventArgs.cs
- ManipulationStartingEventArgs.cs
- DataControlLinkButton.cs
- _SslState.cs
- ProxyHwnd.cs
- Comparer.cs
- FormatConvertedBitmap.cs
- StylusDownEventArgs.cs
- ConfigurationManagerHelper.cs
- CompilerErrorCollection.cs
- BamlRecordWriter.cs
- LassoSelectionBehavior.cs
- DataShape.cs
- NavigateEvent.cs
- _NativeSSPI.cs
- PenLineJoinValidation.cs
- XPathSelfQuery.cs
- PathSegmentCollection.cs
- ConfigXmlComment.cs
- PassportAuthenticationEventArgs.cs
- TCPClient.cs
- ConfigXmlText.cs
- clipboard.cs
- RealProxy.cs
- PageCache.cs
- StackBuilderSink.cs
- TdsRecordBufferSetter.cs
- MsmqTransportBindingElement.cs
- SerializerWriterEventHandlers.cs
- X500Name.cs
- DocumentPaginator.cs
- ProcessInfo.cs
- BamlTreeNode.cs
- EdmItemCollection.cs
- ListBox.cs
- WindowsTab.cs
- Convert.cs
- WebServiceEnumData.cs
- RawStylusInput.cs
- AnnotationObservableCollection.cs
- Rotation3DKeyFrameCollection.cs
- SigningCredentials.cs
- DataColumnPropertyDescriptor.cs
- ColumnHeader.cs
- DefaultCommandExtensionCallback.cs
- SafeFileMappingHandle.cs
- CodeVariableDeclarationStatement.cs
- MeasurementDCInfo.cs
- WindowPatternIdentifiers.cs
- SelectionRange.cs
- RowsCopiedEventArgs.cs
- GetParentChain.cs
- Assembly.cs
- CodeMethodInvokeExpression.cs
- CompositeDispatchFormatter.cs
- DataProtectionSecurityStateEncoder.cs
- ButtonFieldBase.cs
- BaseCodeDomTreeGenerator.cs
- AutomationPropertyInfo.cs
- ObfuscateAssemblyAttribute.cs
- TextBoxRenderer.cs
- PackageRelationshipCollection.cs
- XmlKeywords.cs
- XmlNamedNodeMap.cs
- ActivitiesCollection.cs
- Emitter.cs
- JsonReaderDelegator.cs
- TraceSection.cs
- SatelliteContractVersionAttribute.cs
- SqlSelectStatement.cs
- SystemIcmpV4Statistics.cs
- BitmapEffect.cs
- MarginsConverter.cs
- PropertyIdentifier.cs
- TextCharacters.cs
- TextBoxBaseDesigner.cs
- HandlerFactoryWrapper.cs
- KeyInstance.cs
- Int64AnimationUsingKeyFrames.cs
- PaperSource.cs
- XmlSchemaNotation.cs
- WebPartConnectionsCancelVerb.cs
- PersonalizationEntry.cs
- SystemWebExtensionsSectionGroup.cs