Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Documents / XamlRtfConverter.cs / 1 / XamlRtfConverter.cs
//----------------------------------------------------------------------------
//
// File: XamlRtfConverter.cs
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// Description: Xaml-Rtf Converter.
//
//---------------------------------------------------------------------------
using System.IO;
using System.Text;
namespace System.Windows.Documents
{
///
/// XamlRtfConverter is a static class that convert from/to rtf content to/from xaml content.
///
internal class XamlRtfConverter
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
///
/// create new instance of XamlRtfConverter that convert the content between xaml and rtf.
///
internal XamlRtfConverter()
{
}
#endregion Constructors
// ----------------------------------------------------------------------
//
// Internal Methods
//
// ---------------------------------------------------------------------
#region Internal Methods
///
/// Converts an xaml content to rtf content.
///
///
/// The source xaml text content to be converted into Rtf content.
///
///
/// Well-formed representing rtf equivalent string for the source xaml content.
///
internal string ConvertXamlToRtf(string xamlContent)
{
// Check the parameter validation
if (xamlContent == null)
{
throw new ArgumentNullException("xamlContent");
}
string rtfContent = string.Empty;
if (xamlContent != string.Empty)
{
// Creating the converter that process the content data from Xaml to Rtf
XamlToRtfWriter xamlToRtfWriter = new XamlToRtfWriter(xamlContent);
// Set WpfPayload package that contained the image for the specified Xaml
if (WpfPayload != null)
{
xamlToRtfWriter.WpfPayload = WpfPayload;
}
// Process the converting from xaml to rtf
xamlToRtfWriter.Process();
// Set rtf content that representing resulting from Xaml to Rtf converting.
rtfContent = xamlToRtfWriter.Output;
}
return rtfContent;
}
///
/// Converts an rtf content to xaml content.
///
///
/// The source rtf content that to be converted into xaml content.
///
///
/// Well-formed xml representing XAML equivalent content for the input rtf content string.
///
internal string ConvertRtfToXaml(string rtfContent)
{
// Check the parameter validation
if (rtfContent == null)
{
throw new ArgumentNullException("rtfContent");
}
// xaml content to be converted from rtf
string xamlContent = string.Empty;
if (rtfContent != string.Empty)
{
// Create RtfToXamlReader instance for converting the content
// from rtf to xaml and set ForceParagraph
RtfToXamlReader rtfToXamlReader = new RtfToXamlReader(rtfContent);
rtfToXamlReader.ForceParagraph = ForceParagraph;
// Set WpfPayload package that contained the image for the specified Xaml
if (WpfPayload != null)
{
rtfToXamlReader.WpfPayload = WpfPayload;
}
//Process the converting from rtf to xaml
rtfToXamlReader.Process();
// Set Xaml content string that representing resulting Rtf-Xaml converting
xamlContent = rtfToXamlReader.Output;
}
return xamlContent;
}
#endregion Internal Methods
// ----------------------------------------------------------------------
//
// Internal Properties
//
// ----------------------------------------------------------------------
#region Internal Properties
// ForceParagraph property indicates whether ForcePagraph for RtfToXamlReader.
internal bool ForceParagraph
{
get
{
return _forceParagraph;
}
set
{
_forceParagraph = value;
}
}
// WpfPayload package property for getting or placing image data for Xaml content
internal WpfPayload WpfPayload
{
get
{
return _wpfPayload;
}
set
{
_wpfPayload = value;
}
}
#endregion Internal Properties
// ---------------------------------------------------------------------
//
// Internal Fields
//
// ----------------------------------------------------------------------
#region Internal Fields
// Rtf encoding codepage that is 1252 ANSI
internal const int RtfCodePage = 1252;
#endregion Internal Fields
// ---------------------------------------------------------------------
//
// Private Fields
//
// ---------------------------------------------------------------------
#region Private Fields
// Flag that indicate the forcing paragragh for RtfToXamlReader
private bool _forceParagraph;
// The output WpfPayload package for placing image data into it
private WpfPayload _wpfPayload;
#endregion Private Fields
}
}
// 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
- PagedDataSource.cs
- MarkupCompilePass2.cs
- XmlWhitespace.cs
- CountAggregationOperator.cs
- AutoResizedEvent.cs
- NamespaceCollection.cs
- PreProcessInputEventArgs.cs
- Int64.cs
- MachineKey.cs
- SecurityVerifiedMessage.cs
- SystemBrushes.cs
- XmlNamespaceDeclarationsAttribute.cs
- StrongName.cs
- ComponentResourceManager.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- DataServiceConfiguration.cs
- RoleServiceManager.cs
- ByteRangeDownloader.cs
- HttpClientCertificate.cs
- Point3DAnimationUsingKeyFrames.cs
- TcpAppDomainProtocolHandler.cs
- SQLInt64Storage.cs
- EventMappingSettingsCollection.cs
- ViewGenResults.cs
- _HelperAsyncResults.cs
- typedescriptorpermissionattribute.cs
- _BasicClient.cs
- InvokeGenerator.cs
- PropertyPushdownHelper.cs
- XmlSerializerFactory.cs
- XmlAttributeCache.cs
- DataGridBeginningEditEventArgs.cs
- DataObjectFieldAttribute.cs
- XmlSchemaSimpleType.cs
- ConnectorRouter.cs
- QilXmlWriter.cs
- EmptyEnumerator.cs
- DbMetaDataColumnNames.cs
- XD.cs
- SqlAliasesReferenced.cs
- ContentElement.cs
- ModuleBuilder.cs
- DispatcherObject.cs
- DataGridViewCellStyleChangedEventArgs.cs
- ChannelParameterCollection.cs
- DrawListViewItemEventArgs.cs
- ColumnMapTranslator.cs
- AdornerHitTestResult.cs
- TileBrush.cs
- XmlIterators.cs
- NameScopePropertyAttribute.cs
- _BufferOffsetSize.cs
- DataServiceQueryProvider.cs
- OdbcHandle.cs
- StreamHelper.cs
- TimeStampChecker.cs
- Keywords.cs
- Int32RectValueSerializer.cs
- MonthChangedEventArgs.cs
- ExceptionCollection.cs
- IdentityNotMappedException.cs
- InkCanvas.cs
- TableLayoutRowStyleCollection.cs
- TransactionFlowProperty.cs
- DesignerToolStripControlHost.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- XmlNodeChangedEventArgs.cs
- InstanceDescriptor.cs
- Model3D.cs
- HostExecutionContextManager.cs
- _NestedMultipleAsyncResult.cs
- FlatButtonAppearance.cs
- GridViewRow.cs
- UniqueIdentifierService.cs
- StoreContentChangedEventArgs.cs
- ConstraintManager.cs
- HostingPreferredMapPath.cs
- DateTimeSerializationSection.cs
- ExceptionAggregator.cs
- SoapExtensionStream.cs
- XmlSchemaSimpleTypeList.cs
- Line.cs
- SystemResources.cs
- HighlightVisual.cs
- StickyNoteAnnotations.cs
- validationstate.cs
- XmlSerializerFactory.cs
- LocatorGroup.cs
- Compiler.cs
- PolyBezierSegment.cs
- DrawToolTipEventArgs.cs
- PriorityQueue.cs
- ContractListAdapter.cs
- StateManagedCollection.cs
- TextElementCollection.cs
- EnvelopedPkcs7.cs
- WorkflowPersistenceContext.cs
- ProcessHost.cs
- BaseCollection.cs
- ManagementOperationWatcher.cs