Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Documents / Run.cs / 1 / Run.cs
//----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// Description: Run class - Text node in Flow content (text run)
//
//---------------------------------------------------------------------------
using MS.Internal; // Invariant.Assert
using System.Windows.Markup; // ContentProperty
namespace System.Windows.Documents
{
///
/// A terminal element in text flow hierarchy - contains a uniformatted run of unicode characters
///
[ContentProperty("Text")]
public class Run : Inline
{
//-------------------------------------------------------------------
//
// Constructors
//
//-------------------------------------------------------------------
#region Constructors
///
/// Initializes an instance of Run class.
///
public Run()
{
}
///
/// Initializes an instance of Run class specifying its text content.
///
///
/// Text content assigned to the Run.
///
public Run(string text) : this(text, null)
{
}
///
/// Creates a new Run instance.
///
///
/// Optional text content. May be null.
///
///
/// Optional position at which to insert the new Run. May
/// be null.
///
public Run(string text, TextPointer insertionPosition)
{
if (insertionPosition != null)
{
insertionPosition.TextContainer.BeginChange();
}
try
{
if (insertionPosition != null)
{
// This will throw InvalidOperationException if schema validity is violated.
insertionPosition.InsertInline(this);
}
if (text != null)
{
// Do not use Text property as it has perf impact on parser.
this.ContentStart.InsertTextInRun(text);
}
}
finally
{
if (insertionPosition != null)
{
insertionPosition.TextContainer.EndChange();
}
}
}
#endregion Constructors
//--------------------------------------------------------------------
//
// Public Properties
//
//-------------------------------------------------------------------
#region Public Properties
///
/// The content spanned by this TextElement.
///
public string Text
{
get
{
return TextRangeBase.GetTextInternal(this.ContentStart, this.ContentEnd);
}
set
{
if (value == null)
{
value = String.Empty;
}
TextContainer textContainer = this.TextContainer;
textContainer.BeginChange();
try
{
TextPointer contentStart = this.ContentStart;
if (!this.IsEmpty)
{
textContainer.DeleteContentInternal(contentStart, this.ContentEnd);
}
contentStart.InsertTextInRun(value);
}
finally
{
textContainer.EndChange();
}
}
}
#endregion Public Properties
//--------------------------------------------------------------------
//
// Internal Methods
//
//--------------------------------------------------------------------
#region Internal Methods
//
// This property
// 1. Finds the correct initial size for the _effectiveValues store on the current DependencyObject
// 2. This is a performance optimization
//
internal override int EffectiveValuesInitialSize
{
get { return 13; }
}
///
/// This method is used by TypeDescriptor to determine if this property should
/// be serialized.
///
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public bool ShouldSerializeText(XamlDesignerSerializationManager manager)
{
return manager != null && manager.XmlWriter == null;
}
#endregion Internal 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
- Part.cs
- SqlCacheDependencyDatabase.cs
- RuleElement.cs
- PrivilegedConfigurationManager.cs
- TextMarkerSource.cs
- HttpChannelBindingToken.cs
- PrintingPermissionAttribute.cs
- TagNameToTypeMapper.cs
- BitmapEffectGroup.cs
- NotifyInputEventArgs.cs
- XmlSchemaElement.cs
- DesignerSerializerAttribute.cs
- DataSet.cs
- RelationshipEnd.cs
- FirstMatchCodeGroup.cs
- SystemDiagnosticsSection.cs
- PngBitmapDecoder.cs
- DbProviderConfigurationHandler.cs
- OleDbErrorCollection.cs
- FormsAuthenticationModule.cs
- FastEncoderWindow.cs
- TreeNodeStyleCollection.cs
- PhysicalOps.cs
- ProfileGroupSettings.cs
- UIPermission.cs
- StringFunctions.cs
- RedirectionProxy.cs
- PackageFilter.cs
- XmlTypeMapping.cs
- HashAlgorithm.cs
- StyleHelper.cs
- DropSource.cs
- IResourceProvider.cs
- TypeSource.cs
- CommonDialog.cs
- InternalDispatchObject.cs
- WindowsFormsDesignerOptionService.cs
- Error.cs
- ListViewSortEventArgs.cs
- JsonClassDataContract.cs
- VariableAction.cs
- BitmapEffectGroup.cs
- MouseGestureValueSerializer.cs
- StrongTypingException.cs
- HTMLTagNameToTypeMapper.cs
- VirtualizingStackPanel.cs
- CodeVariableReferenceExpression.cs
- InvalidFilterCriteriaException.cs
- SystemPens.cs
- ByteRangeDownloader.cs
- KeyboardEventArgs.cs
- RSAOAEPKeyExchangeFormatter.cs
- SmiMetaDataProperty.cs
- Html32TextWriter.cs
- GeneratedContractType.cs
- WebPageTraceListener.cs
- EntityDataSourceChangingEventArgs.cs
- TextEditorSpelling.cs
- CapabilitiesState.cs
- EnvironmentPermission.cs
- DataViewManager.cs
- EventDescriptor.cs
- SurrogateChar.cs
- InstanceData.cs
- StringSorter.cs
- MultipleCopiesCollection.cs
- recordstatescratchpad.cs
- DataListItemEventArgs.cs
- TransformGroup.cs
- RSAOAEPKeyExchangeFormatter.cs
- TextServicesCompartmentContext.cs
- SQLByte.cs
- AuthorizationSection.cs
- XPathDescendantIterator.cs
- UnmanagedHandle.cs
- ComponentEvent.cs
- PrintEvent.cs
- TabRenderer.cs
- Label.cs
- WindowsServiceElement.cs
- MembershipValidatePasswordEventArgs.cs
- CacheModeConverter.cs
- DataRelationCollection.cs
- SafeArrayTypeMismatchException.cs
- DataIdProcessor.cs
- CallSite.cs
- HwndSourceKeyboardInputSite.cs
- ObjectStorage.cs
- DBCSCodePageEncoding.cs
- ButtonBase.cs
- Configuration.cs
- ReachPrintTicketSerializerAsync.cs
- FrameworkElementFactoryMarkupObject.cs
- LinkedResource.cs
- WindowsSpinner.cs
- DynamicPropertyReader.cs
- UncommonField.cs
- ExtensionFile.cs
- LogicalExpr.cs
- PropertyValueChangedEvent.cs