Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- PrintDocument.cs
- ParagraphResult.cs
- CanonicalFontFamilyReference.cs
- GlyphRunDrawing.cs
- StreamDocument.cs
- DataGridViewRowCancelEventArgs.cs
- BufferedResponseStream.cs
- ComPersistableTypeElementCollection.cs
- ComboBoxItem.cs
- AstNode.cs
- ToolStripLocationCancelEventArgs.cs
- DependentList.cs
- CreateUserWizardAutoFormat.cs
- MeasurementDCInfo.cs
- BuildProviderCollection.cs
- RecordBuilder.cs
- XsltContext.cs
- ReservationNotFoundException.cs
- Bidi.cs
- GcHandle.cs
- SmtpDateTime.cs
- KeyedCollection.cs
- LocalizationParserHooks.cs
- ActiveXHelper.cs
- EmptyCollection.cs
- _ListenerAsyncResult.cs
- GifBitmapEncoder.cs
- TextSchema.cs
- ObjectConverter.cs
- ListenerSessionConnection.cs
- FileIOPermission.cs
- Tokenizer.cs
- ListViewGroupItemCollection.cs
- AppDomainUnloadedException.cs
- CustomError.cs
- SqlRowUpdatedEvent.cs
- HtmlInputReset.cs
- XmlValueConverter.cs
- DerivedKeySecurityToken.cs
- MetafileHeaderWmf.cs
- WindowsTitleBar.cs
- BitmapEffect.cs
- URLIdentityPermission.cs
- ParameterCollection.cs
- MasterPage.cs
- IntSecurity.cs
- TrackingDataItem.cs
- Html32TextWriter.cs
- LineSegment.cs
- NotCondition.cs
- Funcletizer.cs
- recordstate.cs
- BypassElementCollection.cs
- CssClassPropertyAttribute.cs
- XhtmlBasicValidationSummaryAdapter.cs
- SharedHttpTransportManager.cs
- XamlPoint3DCollectionSerializer.cs
- CompilationUnit.cs
- Section.cs
- RegexStringValidator.cs
- MissingMethodException.cs
- RegistrySecurity.cs
- PeerNode.cs
- SqlAggregateChecker.cs
- DebuggerAttributes.cs
- WebBrowserNavigatingEventHandler.cs
- ConnectorRouter.cs
- SafeEventHandle.cs
- PlatformCulture.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- DbConnectionPoolIdentity.cs
- TextTreeNode.cs
- MsmqVerifier.cs
- CodeAttributeDeclaration.cs
- SystemThemeKey.cs
- RelationshipEndMember.cs
- QuaternionAnimation.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- XmlComplianceUtil.cs
- FixedDocument.cs
- DescendentsWalkerBase.cs
- FieldReference.cs
- RefreshEventArgs.cs
- ImplicitInputBrush.cs
- PersianCalendar.cs
- XmlAutoDetectWriter.cs
- SmiEventSink_Default.cs
- TextBoxBase.cs
- XPathScanner.cs
- NullReferenceException.cs
- MD5.cs
- RuleInfoComparer.cs
- DSASignatureFormatter.cs
- XmlWriterTraceListener.cs
- StringUtil.cs
- SessionState.cs
- StorageMappingItemCollection.cs
- Clause.cs
- InspectionWorker.cs
- ClientCultureInfo.cs