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
- PopupRootAutomationPeer.cs
- XmlAttributes.cs
- SystemWebSectionGroup.cs
- BaseTemplateBuildProvider.cs
- DrawToolTipEventArgs.cs
- ListViewItemMouseHoverEvent.cs
- _NegoStream.cs
- HebrewCalendar.cs
- Trigger.cs
- DefaultParameterValueAttribute.cs
- Empty.cs
- WsatAdminException.cs
- LoadRetryConstantStrategy.cs
- ProfileSettings.cs
- StrokeNodeEnumerator.cs
- CommandConverter.cs
- ZipIOLocalFileHeader.cs
- TraceFilter.cs
- MonitorWrapper.cs
- Library.cs
- XappLauncher.cs
- FocusWithinProperty.cs
- EntityDataSourceSelectedEventArgs.cs
- PkcsUtils.cs
- DataIdProcessor.cs
- MediaPlayerState.cs
- ExtensibleClassFactory.cs
- PackageStore.cs
- DataSpaceManager.cs
- DetailsViewRowCollection.cs
- DependencySource.cs
- IdentityManager.cs
- Substitution.cs
- PersonalizationEntry.cs
- TypographyProperties.cs
- TextBoxBase.cs
- QEncodedStream.cs
- LogSwitch.cs
- EmbossBitmapEffect.cs
- TableLayoutRowStyleCollection.cs
- XmlLangPropertyAttribute.cs
- XmlDataSourceNodeDescriptor.cs
- ReaderWriterLock.cs
- ItemCheckedEvent.cs
- BypassElement.cs
- TransformerInfo.cs
- UnsafeNativeMethods.cs
- CurrentTimeZone.cs
- RightNameExpirationInfoPair.cs
- Span.cs
- Encoder.cs
- WebEventCodes.cs
- ReadOnlyAttribute.cs
- SQlBooleanStorage.cs
- SerializableAttribute.cs
- PeerCustomResolverElement.cs
- RegexMatchCollection.cs
- JsonEncodingStreamWrapper.cs
- RectangleConverter.cs
- Executor.cs
- ToolStripDropDown.cs
- TriggerCollection.cs
- ContentType.cs
- AudioException.cs
- ProxyManager.cs
- EventRouteFactory.cs
- Accessible.cs
- RegistryKey.cs
- ExceptionHandlersDesigner.cs
- UrlPropertyAttribute.cs
- BoolLiteral.cs
- ControlCachePolicy.cs
- ToolStripGripRenderEventArgs.cs
- TypeUnloadedException.cs
- TokenBasedSet.cs
- ParagraphVisual.cs
- DelegatingTypeDescriptionProvider.cs
- LassoHelper.cs
- OracleCommandSet.cs
- AutoResetEvent.cs
- Bits.cs
- CallContext.cs
- CodeDelegateCreateExpression.cs
- WebPartConnectionsEventArgs.cs
- ChangeProcessor.cs
- OpenTypeLayout.cs
- StrokeCollectionDefaultValueFactory.cs
- ECDiffieHellmanPublicKey.cs
- RegistrationServices.cs
- DeobfuscatingStream.cs
- SQLGuidStorage.cs
- MetafileHeader.cs
- HttpResponseHeader.cs
- ClientConfigurationSystem.cs
- AuthenticationModuleElementCollection.cs
- ColumnHeaderConverter.cs
- ProjectionPlanCompiler.cs
- BindableAttribute.cs
- URLBuilder.cs
- SecurityState.cs