Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / 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. //---------------------------------------------------------------------------- // // 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
- TranslateTransform3D.cs
- RenderDataDrawingContext.cs
- NetworkInterface.cs
- SmtpLoginAuthenticationModule.cs
- HashMembershipCondition.cs
- ServerTooBusyException.cs
- CustomValidator.cs
- BinaryParser.cs
- ArrangedElement.cs
- CacheVirtualItemsEvent.cs
- SoapElementAttribute.cs
- SiteMembershipCondition.cs
- ShellProvider.cs
- RecognitionResult.cs
- Main.cs
- StateItem.cs
- TextTreeTextElementNode.cs
- BaseDataBoundControl.cs
- SslStreamSecurityElement.cs
- TemplateNameScope.cs
- AppDomainAttributes.cs
- SQLGuid.cs
- CompiledELinqQueryState.cs
- HttpConfigurationContext.cs
- MetadataItemEmitter.cs
- XmlSchemaIdentityConstraint.cs
- SequentialUshortCollection.cs
- BrushConverter.cs
- WebHostedComPlusServiceHost.cs
- RectangleHotSpot.cs
- WindowsAltTab.cs
- HttpModuleAction.cs
- Activation.cs
- PagerSettings.cs
- NativeRecognizer.cs
- Crypto.cs
- login.cs
- sortedlist.cs
- FloaterBaseParaClient.cs
- Event.cs
- FreezableDefaultValueFactory.cs
- SizeFConverter.cs
- Brushes.cs
- FormViewUpdateEventArgs.cs
- COMException.cs
- FormClosingEvent.cs
- XPathScanner.cs
- GridViewDeleteEventArgs.cs
- MultiBinding.cs
- URL.cs
- BrowserTree.cs
- ErrorsHelper.cs
- AliasExpr.cs
- SafePEFileHandle.cs
- InsufficientMemoryException.cs
- Size.cs
- StylusEditingBehavior.cs
- Ref.cs
- RuntimeVariablesExpression.cs
- TypeUsageBuilder.cs
- ColorAnimationUsingKeyFrames.cs
- OutputCacheProfileCollection.cs
- FixedDocument.cs
- SymLanguageType.cs
- IDQuery.cs
- DesignSurfaceEvent.cs
- UpnEndpointIdentity.cs
- DirectoryNotFoundException.cs
- DataList.cs
- DataBoundLiteralControl.cs
- InputQueue.cs
- XmlSchemaExporter.cs
- TextEvent.cs
- TdsValueSetter.cs
- TableAutomationPeer.cs
- IIS7WorkerRequest.cs
- PointF.cs
- RepeatBehavior.cs
- UserControl.cs
- InkCanvasFeedbackAdorner.cs
- FileAuthorizationModule.cs
- ConditionalBranch.cs
- StreamMarshaler.cs
- RedistVersionInfo.cs
- TcpHostedTransportConfiguration.cs
- UpdateEventArgs.cs
- BaseCodePageEncoding.cs
- ParserStreamGeometryContext.cs
- MarkupCompilePass2.cs
- HatchBrush.cs
- EndpointAddress.cs
- KoreanLunisolarCalendar.cs
- CheckBoxField.cs
- OleServicesContext.cs
- CacheDict.cs
- UnsafeNativeMethods.cs
- FontFaceLayoutInfo.cs
- ItemCollection.cs
- UseManagedPresentationElement.cs
- HttpModulesSection.cs