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
- QuaternionRotation3D.cs
- XmlQueryRuntime.cs
- BindingCompleteEventArgs.cs
- SamlAssertionKeyIdentifierClause.cs
- WsdlBuildProvider.cs
- HtmlTernaryTree.cs
- SHA512CryptoServiceProvider.cs
- TypedReference.cs
- MsmqIntegrationMessagePool.cs
- ExpressionWriter.cs
- BitmapScalingModeValidation.cs
- ComponentEvent.cs
- TextBoxBase.cs
- CompatibleComparer.cs
- StyleBamlRecordReader.cs
- MatrixConverter.cs
- AnonymousIdentificationModule.cs
- HScrollBar.cs
- TemplatedMailWebEventProvider.cs
- XmlSchemaParticle.cs
- _SpnDictionary.cs
- ListMarkerLine.cs
- TokenFactoryCredential.cs
- TimerExtension.cs
- HtmlInputText.cs
- LiteralTextContainerControlBuilder.cs
- GetRecipientRequest.cs
- TextEditorCharacters.cs
- FixUpCollection.cs
- FileDetails.cs
- MenuStrip.cs
- CompiledQueryCacheEntry.cs
- StandardToolWindows.cs
- XmlWrappingWriter.cs
- JsonReaderWriterFactory.cs
- BaseValidatorDesigner.cs
- SafeRegistryKey.cs
- SqlCommandBuilder.cs
- QuotedPrintableStream.cs
- PersistenceMetadataNamespace.cs
- JsonDataContract.cs
- TypeResolvingOptions.cs
- ValidatorAttribute.cs
- RootBuilder.cs
- XmlHierarchicalEnumerable.cs
- HyperLinkStyle.cs
- Dictionary.cs
- EntityContainerEmitter.cs
- AnnouncementInnerClientCD1.cs
- StreamWithDictionary.cs
- PrintPreviewDialog.cs
- WebPartMenu.cs
- PerfCounters.cs
- PrintDialog.cs
- ProfilePropertyNameValidator.cs
- NullReferenceException.cs
- ToolStripMenuItem.cs
- InstancePersistence.cs
- LinqDataSourceUpdateEventArgs.cs
- ValueExpressions.cs
- DataGridViewTextBoxCell.cs
- CoreSwitches.cs
- EditingCoordinator.cs
- StorageEntityContainerMapping.cs
- WebPartHelpVerb.cs
- ArgumentsParser.cs
- GridViewRowEventArgs.cs
- ProxyGenerationError.cs
- PackageRelationship.cs
- OneToOneMappingSerializer.cs
- ParameterModifier.cs
- DataListItemEventArgs.cs
- CollectionConverter.cs
- Utilities.cs
- CharUnicodeInfo.cs
- Point.cs
- XmlProcessingInstruction.cs
- StyleSelector.cs
- ObjectDataSourceEventArgs.cs
- UidManager.cs
- CredentialCache.cs
- EventTrigger.cs
- PropertyFilterAttribute.cs
- TypeInfo.cs
- PasswordRecovery.cs
- FontWeights.cs
- XmlCountingReader.cs
- ImportOptions.cs
- StateBag.cs
- DesignerListAdapter.cs
- ThaiBuddhistCalendar.cs
- SelfIssuedAuthAsymmetricKey.cs
- AppSettingsExpressionBuilder.cs
- storepermissionattribute.cs
- SelectionUIHandler.cs
- PersonalizationDictionary.cs
- XmlQueryContext.cs
- RawStylusSystemGestureInputReport.cs
- CacheMode.cs
- NetworkInterface.cs