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
- VarRemapper.cs
- COM2ExtendedTypeConverter.cs
- MetadataSource.cs
- PathSegmentCollection.cs
- Configuration.cs
- Int32RectConverter.cs
- ImageDrawing.cs
- Random.cs
- DateTimeSerializationSection.cs
- ExecutionContext.cs
- HtmlMeta.cs
- DataGridItemCollection.cs
- RC2.cs
- WhitespaceRuleLookup.cs
- DataGridViewElement.cs
- FramingFormat.cs
- ToolStripSystemRenderer.cs
- Section.cs
- VisualTreeUtils.cs
- ExceptionUtil.cs
- DataSetMappper.cs
- DataObjectMethodAttribute.cs
- NativeMethods.cs
- TableRow.cs
- PixelShader.cs
- SlotInfo.cs
- NaturalLanguageHyphenator.cs
- TextReturnReader.cs
- DataGridViewTopRowAccessibleObject.cs
- FontFamily.cs
- PolyBezierSegmentFigureLogic.cs
- OptimalBreakSession.cs
- AppSettingsReader.cs
- HttpListenerException.cs
- LinkLabel.cs
- PropertySegmentSerializer.cs
- InteropEnvironment.cs
- ConfigPathUtility.cs
- XmlSchemaAttribute.cs
- CngAlgorithmGroup.cs
- odbcmetadatafactory.cs
- ContourSegment.cs
- ProgressBarRenderer.cs
- DynamicUpdateCommand.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- Script.cs
- CompositeFontFamily.cs
- HtmlForm.cs
- GenericAuthenticationEventArgs.cs
- CompoundFileStreamReference.cs
- HtmlGenericControl.cs
- CodeTypeParameter.cs
- AdapterSwitches.cs
- DataGridViewCellStyleEditor.cs
- ContractCodeDomInfo.cs
- UmAlQuraCalendar.cs
- ReceiveCompletedEventArgs.cs
- TrimSurroundingWhitespaceAttribute.cs
- TextTrailingCharacterEllipsis.cs
- CmsInterop.cs
- ComponentEditorPage.cs
- GroupedContextMenuStrip.cs
- StylusCaptureWithinProperty.cs
- Configuration.cs
- SchemaTableColumn.cs
- RewritingProcessor.cs
- PositiveTimeSpanValidatorAttribute.cs
- WebPartEventArgs.cs
- SettingsContext.cs
- CheckoutException.cs
- OracleParameter.cs
- DataFieldEditor.cs
- MediaPlayerState.cs
- ClockGroup.cs
- ContentValidator.cs
- TableLayoutPanelDesigner.cs
- DocumentXPathNavigator.cs
- NodeFunctions.cs
- BamlRecordHelper.cs
- UnsafeCollabNativeMethods.cs
- QilName.cs
- PageThemeBuildProvider.cs
- DataGridColumnCollectionEditor.cs
- SubstitutionDesigner.cs
- UIElementIsland.cs
- ControlParser.cs
- AsyncOperation.cs
- BypassElementCollection.cs
- HttpProcessUtility.cs
- ToolStripTemplateNode.cs
- FileInfo.cs
- ProxyElement.cs
- TransformGroup.cs
- SocketElement.cs
- SmtpCommands.cs
- DirectionalLight.cs
- WebSysDescriptionAttribute.cs
- DynamicPropertyHolder.cs
- CrossAppDomainChannel.cs
- RSAPKCS1KeyExchangeDeformatter.cs