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
- XmlSchemaParticle.cs
- UInt32Converter.cs
- HostedHttpRequestAsyncResult.cs
- BindingContext.cs
- MarginsConverter.cs
- FileDialogCustomPlace.cs
- SelectiveScrollingGrid.cs
- SrgsElementList.cs
- OrderedDictionary.cs
- HMAC.cs
- RelationshipConverter.cs
- WinCategoryAttribute.cs
- BindingCompleteEventArgs.cs
- SchemaHelper.cs
- TableStyle.cs
- CompositeCollectionView.cs
- CurrencyManager.cs
- XPathSingletonIterator.cs
- FormView.cs
- SqlConnectionString.cs
- SelectingProviderEventArgs.cs
- ClientData.cs
- SqlClientPermission.cs
- ProcessingInstructionAction.cs
- ThicknessAnimationUsingKeyFrames.cs
- Types.cs
- SignedInfo.cs
- AttributeXamlType.cs
- DataGridViewColumnConverter.cs
- Point4D.cs
- IconConverter.cs
- UniformGrid.cs
- Filter.cs
- ExtensionSimplifierMarkupObject.cs
- ServicePointManager.cs
- ListSortDescription.cs
- RtfControlWordInfo.cs
- regiisutil.cs
- FormatControl.cs
- DiscreteKeyFrames.cs
- DataRowExtensions.cs
- Html32TextWriter.cs
- PartBasedPackageProperties.cs
- CaseStatementProjectedSlot.cs
- ObjectListFieldCollection.cs
- AvTraceDetails.cs
- ToolboxDataAttribute.cs
- AstNode.cs
- BuildProviderAppliesToAttribute.cs
- DropShadowEffect.cs
- WebPartConnectionsConnectVerb.cs
- SocketAddress.cs
- HtmlInputFile.cs
- PerCallInstanceContextProvider.cs
- AnimationTimeline.cs
- UiaCoreTypesApi.cs
- ValidationPropertyAttribute.cs
- EncryptedData.cs
- XmlParser.cs
- AxHost.cs
- HeaderedItemsControl.cs
- PropertyConverter.cs
- ClusterSafeNativeMethods.cs
- XamlDebuggerXmlReader.cs
- XPathAncestorIterator.cs
- PersonalizableTypeEntry.cs
- StreamReader.cs
- XmlExpressionDumper.cs
- formatter.cs
- AggregationMinMaxHelpers.cs
- CollectionViewGroupInternal.cs
- SpellCheck.cs
- XmlSchemaAnnotated.cs
- GenericEnumerator.cs
- EditorAttribute.cs
- messageonlyhwndwrapper.cs
- FixedSOMPageConstructor.cs
- WebBrowserHelper.cs
- Rfc2898DeriveBytes.cs
- LogEntrySerialization.cs
- Identifier.cs
- XmlMembersMapping.cs
- WorkflowServiceHostFactory.cs
- Page.cs
- ImageKeyConverter.cs
- ImageListUtils.cs
- InstanceLockedException.cs
- WebPartZoneAutoFormat.cs
- SqlFileStream.cs
- WebBaseEventKeyComparer.cs
- NonSerializedAttribute.cs
- PriorityRange.cs
- DataGridRowClipboardEventArgs.cs
- DetailsViewDeletedEventArgs.cs
- DefaultTextStoreTextComposition.cs
- SafeMILHandleMemoryPressure.cs
- Match.cs
- MergablePropertyAttribute.cs
- DbConnectionFactory.cs
- Switch.cs