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
- XmlSchemaFacet.cs
- WebPartZone.cs
- TreeNodeClickEventArgs.cs
- ValidationResults.cs
- DrawListViewSubItemEventArgs.cs
- QilGenerator.cs
- Utils.cs
- TokenBasedSet.cs
- ZoomPercentageConverter.cs
- StringKeyFrameCollection.cs
- CrossContextChannel.cs
- ByteKeyFrameCollection.cs
- DPCustomTypeDescriptor.cs
- RegexMatchCollection.cs
- PermissionSet.cs
- CheckBoxRenderer.cs
- TreeViewImageKeyConverter.cs
- CursorConverter.cs
- ObjectViewEntityCollectionData.cs
- TimeSpanOrInfiniteValidator.cs
- GetWorkflowTree.cs
- autovalidator.cs
- ToolStripDropDownMenu.cs
- UTF32Encoding.cs
- TreeViewTemplateSelector.cs
- FontFamilyIdentifier.cs
- ProjectionAnalyzer.cs
- WebPartManagerInternals.cs
- TaskResultSetter.cs
- SchemaElementLookUpTable.cs
- ToolStripSeparatorRenderEventArgs.cs
- UrlAuthFailedErrorFormatter.cs
- PolicyException.cs
- Enum.cs
- EditableLabelControl.cs
- ModelChangedEventArgsImpl.cs
- PackWebRequestFactory.cs
- ParseNumbers.cs
- DeviceSpecificChoiceCollection.cs
- CachedCompositeFamily.cs
- X509IssuerSerialKeyIdentifierClause.cs
- ListViewItem.cs
- UpdateEventArgs.cs
- SqlMethodAttribute.cs
- ToolStripOverflowButton.cs
- PersonalizableTypeEntry.cs
- ServiceEndpoint.cs
- Localizer.cs
- DataGridParentRows.cs
- GeometryGroup.cs
- ControlBuilderAttribute.cs
- WorkflowInstanceTerminatedRecord.cs
- InstanceData.cs
- MatrixAnimationUsingPath.cs
- SelfIssuedAuthAsymmetricKey.cs
- DependencyObjectValidator.cs
- XpsDocument.cs
- SelectedCellsChangedEventArgs.cs
- PageParser.cs
- ExtendedPropertyDescriptor.cs
- EntityStoreSchemaGenerator.cs
- LeafCellTreeNode.cs
- SafeEventLogReadHandle.cs
- AQNBuilder.cs
- SapiRecognizer.cs
- MouseCaptureWithinProperty.cs
- SqlIdentifier.cs
- SqlInfoMessageEvent.cs
- ContextStaticAttribute.cs
- GridViewHeaderRowPresenter.cs
- loginstatus.cs
- SystemParameters.cs
- DeferredBinaryDeserializerExtension.cs
- StringFormat.cs
- VBIdentifierTrimConverter.cs
- TextServicesCompartmentContext.cs
- DataGridViewImageColumn.cs
- ServiceBusyException.cs
- ComponentDispatcher.cs
- PauseStoryboard.cs
- EntitySqlQueryCacheKey.cs
- DataSourceUtil.cs
- ExpressionConverter.cs
- RowUpdatingEventArgs.cs
- PeerEndPoint.cs
- WebServiceData.cs
- SHA256Managed.cs
- WebPartConnectionsConfigureVerb.cs
- TreeNodeBinding.cs
- GridViewUpdatedEventArgs.cs
- BindingSource.cs
- GlobalEventManager.cs
- future.cs
- EditorOptionAttribute.cs
- SqlRetyper.cs
- Slider.cs
- ContentIterators.cs
- ConfigUtil.cs
- AttachedPropertyMethodSelector.cs
- mda.cs