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
- CachedPathData.cs
- TextSearch.cs
- XmlSerializerSection.cs
- safex509handles.cs
- SafeHGlobalHandleCritical.cs
- XamlStyleSerializer.cs
- HttpCapabilitiesBase.cs
- WebServiceData.cs
- ConditionalBranch.cs
- TaskFileService.cs
- PerformanceCounterPermissionEntry.cs
- _OverlappedAsyncResult.cs
- SoapMessage.cs
- ValidationService.cs
- HtmlTernaryTree.cs
- BatchParser.cs
- CodeTypeMemberCollection.cs
- dbdatarecord.cs
- ProjectionPlan.cs
- BitmapFrame.cs
- ColumnTypeConverter.cs
- CheckPair.cs
- UniqueID.cs
- DataGridSortCommandEventArgs.cs
- NavigatorInput.cs
- UpdateTranslator.cs
- ChangeBlockUndoRecord.cs
- Scheduler.cs
- BookmarkManager.cs
- VisualTreeUtils.cs
- TrailingSpaceComparer.cs
- Matrix3DValueSerializer.cs
- ProjectedWrapper.cs
- OrderByLifter.cs
- SqlClientFactory.cs
- PeerCredentialElement.cs
- Separator.cs
- NamespaceCollection.cs
- ProtocolsConfigurationEntry.cs
- BufferedStream.cs
- ContourSegment.cs
- FieldAccessException.cs
- MetadataArtifactLoader.cs
- WebPartChrome.cs
- DesignerLabelAdapter.cs
- GPRECT.cs
- PathNode.cs
- DbConnectionPoolCounters.cs
- XamlNamespaceHelper.cs
- InkPresenter.cs
- RestHandlerFactory.cs
- TransformedBitmap.cs
- BreakRecordTable.cs
- GridViewHeaderRowPresenter.cs
- ImageButton.cs
- SQLGuidStorage.cs
- ProfileGroupSettingsCollection.cs
- SplineKeyFrames.cs
- OleDbRowUpdatingEvent.cs
- TypeConvertions.cs
- PolicyChain.cs
- StorageAssociationTypeMapping.cs
- Hashtable.cs
- BufferedOutputStream.cs
- DataViewListener.cs
- GlobalizationAssembly.cs
- ObjectQueryState.cs
- MessageTraceRecord.cs
- DataObjectAttribute.cs
- AdvancedBindingPropertyDescriptor.cs
- ResourcesGenerator.cs
- HttpListenerException.cs
- CaseInsensitiveOrdinalStringComparer.cs
- HttpException.cs
- DefaultTraceListener.cs
- Keywords.cs
- XmlMapping.cs
- MetadataCache.cs
- MessageQueueKey.cs
- RetriableClipboard.cs
- PartialCachingAttribute.cs
- DesignerActionService.cs
- HtmlTableCellCollection.cs
- BitmapMetadata.cs
- InvalidFilterCriteriaException.cs
- HyperLinkField.cs
- PeerNameRecord.cs
- StoreAnnotationsMap.cs
- XmlSerializerVersionAttribute.cs
- RelationshipEnd.cs
- CodeDelegateCreateExpression.cs
- UrlAuthorizationModule.cs
- SecurityTokenInclusionMode.cs
- wpf-etw.cs
- DebugController.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- ValidationSummary.cs
- ErrorStyle.cs
- GenericsInstances.cs
- WorkflowRuntimeServiceElementCollection.cs