Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Markup / XamlWriter.cs / 1305600 / XamlWriter.cs
//----------------------------------------------------------------------------
//
// File: XamlWriter.cs
//
// Description:
// base Parser class that parses XML markup into an Avalon Element Tree
//
//
// History:
// 6/06/01: rogerg Created as Parser.cs
// 5/29/03: peterost Ported to wcp as Parser.cs
// 8/04/05: a-neabbu Split Parser into XamlReader and XamlWriter
//
// Copyright (C) 2003 by Microsoft Corporation. All rights reserved.
//
//---------------------------------------------------------------------------
using System;
using System.Xml;
using System.IO;
using System.IO.Packaging;
using System.Windows;
using System.Collections;
using System.Diagnostics;
using System.Reflection;
using System.Windows.Threading;
using MS.Utility;
using System.Security;
using System.Security.Permissions;
using System.Security.Policy;
using System.Text;
using System.ComponentModel.Design.Serialization;
using System.Globalization;
using System.Windows.Markup.Primitives;
using MS.Internal.IO.Packaging;
using MS.Internal.PresentationFramework;
namespace System.Windows.Markup
{
///
/// Parsing class used to create an Windows Presentation Platform Tree
///
public static class XamlWriter
{
#region Public Methods
///
/// Save gets the xml respresentation
/// for the given object instance
///
///
/// Object instance
///
///
/// XAML string representing object instance
///
///
/// We only allow Serialization in partial trust. Although we would throw an exception later anyways,
/// we throw one here so we know where to expect the exception. (
public static string Save(object obj)
{
// Must be in full trust
SecurityHelper.DemandUnmanagedCode();
// Validate input arguments
if (obj == null)
{
throw new ArgumentNullException("obj");
}
// Create TextWriter
StringBuilder sb = new StringBuilder();
TextWriter writer = new StringWriter(sb, TypeConverterHelper.InvariantEnglishUS);
try
{
Save(obj, writer);
}
finally
{
// Close writer
writer.Close();
}
return sb.ToString();
}
///
/// Save writes the xml respresentation
/// for the given object instance using the given writer
///
///
/// Object instance
///
///
/// Text Writer
///
///
/// We only allow Serialization in partial trust. Although we would throw an exception later anyways,
/// we throw one here so we know where to expect the exception. (
public static void Save(object obj, TextWriter writer)
{
// Must be in full trust
SecurityHelper.DemandUnmanagedCode();
// Validate input arguments
if (obj == null)
{
throw new ArgumentNullException("obj");
}
if (writer == null)
{
throw new ArgumentNullException("writer");
}
// Create XmlTextWriter
XmlTextWriter xmlWriter = new XmlTextWriter(writer);
MarkupWriter.SaveAsXml(xmlWriter, obj);
}
///
/// Save writes the xml respresentation
/// for the given object instance to the given stream
///
///
/// Object instance
///
///
/// Stream
///
///
/// We only allow Serialization in partial trust. Although we would throw an exception later anyways,
/// we throw one here so we know where to expect the exception. (
public static void Save(object obj, Stream stream)
{
// Must be in full trust
SecurityHelper.DemandUnmanagedCode();
// Validate input arguments
if (obj == null)
{
throw new ArgumentNullException("obj");
}
if (stream == null)
{
throw new ArgumentNullException("stream");
}
// Create XmlTextWriter
XmlTextWriter xmlWriter = new XmlTextWriter(stream, null);
MarkupWriter.SaveAsXml(xmlWriter, obj);
}
///
/// Save writes the xml respresentation
/// for the given object instance using the given
/// writer. In addition it also allows the designer
/// to participate in this conversion.
///
///
/// Object instance
///
///
/// XmlWriter
///
///
/// We only allow Serialization in partial trust. Although we would throw an exception later anyways,
/// we throw one here so we know where to expect the exception. (
public static void Save(object obj, XmlWriter xmlWriter)
{
// Must be in full trust
SecurityHelper.DemandUnmanagedCode();
// Validate input arguments
if (obj == null)
{
throw new ArgumentNullException("obj");
}
if (xmlWriter == null)
{
throw new ArgumentNullException("xmlWriter");
}
try
{
MarkupWriter.SaveAsXml(xmlWriter, obj);
}
finally
{
xmlWriter.Flush();
}
}
///
/// Save writes the xml respresentation
/// for the given object instance using the
/// given XmlTextWriter embedded in the manager.
///
///
/// Object instance
///
///
/// Serialization Manager
///
///
/// We only allow Serialization in partial trust. Although we would throw an exception later anyways,
/// we throw one here so we know where to expect the exception. (
public static void Save(object obj, XamlDesignerSerializationManager manager)
{
// Must be in full trust
SecurityHelper.DemandUnmanagedCode();
// Validate input arguments
if (obj == null)
{
throw new ArgumentNullException("obj");
}
if (manager == null)
{
throw new ArgumentNullException("manager");
}
MarkupWriter.SaveAsXml(manager.XmlWriter, obj, manager);
}
#endregion Public 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
- RangeValueProviderWrapper.cs
- EntityDataSourceViewSchema.cs
- ToolStripContainer.cs
- GZipDecoder.cs
- SponsorHelper.cs
- TypeProvider.cs
- TypeExtension.cs
- TextEndOfLine.cs
- ToolStripContainer.cs
- RelatedCurrencyManager.cs
- PowerStatus.cs
- RepeaterItemEventArgs.cs
- TimeSpanSecondsConverter.cs
- FixedSOMTableRow.cs
- WindowAutomationPeer.cs
- CallTemplateAction.cs
- CompiledQuery.cs
- PassportPrincipal.cs
- CodeSubDirectoriesCollection.cs
- MenuAutomationPeer.cs
- ArrayItemValue.cs
- HttpResponse.cs
- PrintSchema.cs
- XPathBuilder.cs
- WorkflowServiceNamespace.cs
- PackagePart.cs
- DropShadowBitmapEffect.cs
- EntitySetRetriever.cs
- PreparingEnlistment.cs
- SecurityRuntime.cs
- MasterPageCodeDomTreeGenerator.cs
- Underline.cs
- _ConnectOverlappedAsyncResult.cs
- WebBrowserEvent.cs
- Parsers.cs
- ContentType.cs
- XmlNode.cs
- AudioException.cs
- DocobjHost.cs
- RepeatInfo.cs
- ClientSettings.cs
- InlineUIContainer.cs
- WinEventQueueItem.cs
- QueryLifecycle.cs
- ModuleBuilder.cs
- MorphHelpers.cs
- OverflowException.cs
- Membership.cs
- XmlChildNodes.cs
- TypeReference.cs
- HttpTransportBindingElement.cs
- HttpListenerResponse.cs
- XamlTreeBuilderBamlRecordWriter.cs
- GenericRootAutomationPeer.cs
- DocumentViewerBaseAutomationPeer.cs
- MouseGesture.cs
- ClientViaElement.cs
- ClientTargetSection.cs
- ColorInterpolationModeValidation.cs
- AndMessageFilter.cs
- SoapParser.cs
- _CookieModule.cs
- TextEffect.cs
- SqlCacheDependencyDatabase.cs
- HtmlAnchor.cs
- SQLGuid.cs
- Italic.cs
- ToolboxItemAttribute.cs
- OpenTypeMethods.cs
- Compress.cs
- SafeMILHandle.cs
- CombinedGeometry.cs
- FilterableAttribute.cs
- AnonymousIdentificationModule.cs
- TrustSection.cs
- Control.cs
- HttpClientCertificate.cs
- BaseValidatorDesigner.cs
- RegexWriter.cs
- ConnectionsZone.cs
- SqlRowUpdatingEvent.cs
- EdmItemCollection.cs
- StylusLogic.cs
- PenCursorManager.cs
- FormatterServicesNoSerializableCheck.cs
- RepeaterItem.cs
- CodeEntryPointMethod.cs
- BinHexDecoder.cs
- DataRowComparer.cs
- WindowsUpDown.cs
- ColorPalette.cs
- WebBrowserDocumentCompletedEventHandler.cs
- PrinterSettings.cs
- XamlSerializerUtil.cs
- QueryPageSettingsEventArgs.cs
- FlagsAttribute.cs
- ProxyBuilder.cs
- AttachedPropertyMethodSelector.cs
- ProjectedSlot.cs
- ErrorRuntimeConfig.cs