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
- BoundField.cs
- Fonts.cs
- GeometryHitTestParameters.cs
- DataGrid.cs
- ServiceOperation.cs
- WindowsRichEditRange.cs
- WebPartRestoreVerb.cs
- TextSelectionHighlightLayer.cs
- ReflectTypeDescriptionProvider.cs
- PrintSystemException.cs
- CustomAttributeSerializer.cs
- CommentAction.cs
- TypeResolver.cs
- ProcessInfo.cs
- DBSqlParserTable.cs
- GAC.cs
- TypeBinaryExpression.cs
- RoleManagerModule.cs
- CursorConverter.cs
- Guid.cs
- ParameterModifier.cs
- EventRoute.cs
- PerspectiveCamera.cs
- RsaSecurityTokenParameters.cs
- PriorityQueue.cs
- QuestionEventArgs.cs
- XmlQualifiedNameTest.cs
- UpdatePanel.cs
- DecoderNLS.cs
- ApplicationSettingsBase.cs
- XmlSchemaComplexType.cs
- DataServiceHostFactory.cs
- TCEAdapterGenerator.cs
- CommandManager.cs
- PartialTrustVisibleAssembly.cs
- EncodedStreamFactory.cs
- DrawingState.cs
- ClockController.cs
- MetaChildrenColumn.cs
- GlobalItem.cs
- BaseCodePageEncoding.cs
- ProxyFragment.cs
- SecurityResources.cs
- TreeNodeBindingCollection.cs
- BuildProviderAppliesToAttribute.cs
- XmlSchemaChoice.cs
- FunctionOverloadResolver.cs
- BrushMappingModeValidation.cs
- PageAsyncTaskManager.cs
- NetDataContractSerializer.cs
- ModuleBuilderData.cs
- Stack.cs
- RelationshipSet.cs
- StringResourceManager.cs
- InstanceData.cs
- CacheSection.cs
- EmptyQuery.cs
- NativeMethods.cs
- XmlSerializerFactory.cs
- AssemblyNameProxy.cs
- DelegatingTypeDescriptionProvider.cs
- FileDialog_Vista.cs
- PenLineJoinValidation.cs
- GuidelineCollection.cs
- ObfuscationAttribute.cs
- FixUpCollection.cs
- PropertyPath.cs
- ControlCollection.cs
- Events.cs
- _SslStream.cs
- FontStretches.cs
- RequestResizeEvent.cs
- RetrieveVirtualItemEventArgs.cs
- HttpCacheParams.cs
- Matrix3DConverter.cs
- InstanceHandleConflictException.cs
- ReservationCollection.cs
- BindStream.cs
- ManipulationLogic.cs
- ArrangedElement.cs
- AttributeParameterInfo.cs
- ListParagraph.cs
- TextFormatterImp.cs
- EqualityComparer.cs
- HandoffBehavior.cs
- _HeaderInfo.cs
- RequestCacheValidator.cs
- UncommonField.cs
- DescendantOverDescendantQuery.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- FrameworkObject.cs
- EventDescriptor.cs
- MatrixTransform3D.cs
- HwndSubclass.cs
- XmlNodeChangedEventArgs.cs
- AliasGenerator.cs
- InstanceCreationEditor.cs
- OracleConnectionString.cs
- GCHandleCookieTable.cs
- ConfigurationCollectionAttribute.cs