Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- CTreeGenerator.cs
- TypeElement.cs
- GroupBoxAutomationPeer.cs
- DataErrorValidationRule.cs
- IPPacketInformation.cs
- ItemsPanelTemplate.cs
- SecurityTokenParameters.cs
- ToolBarTray.cs
- ChineseLunisolarCalendar.cs
- ManifestResourceInfo.cs
- InstanceCreationEditor.cs
- MasterPageCodeDomTreeGenerator.cs
- ListControl.cs
- TemplateNodeContextMenu.cs
- NativeMethodsCLR.cs
- RelatedCurrencyManager.cs
- ProfileGroupSettingsCollection.cs
- CompositeActivityDesigner.cs
- ForeignConstraint.cs
- Binding.cs
- XPathSelectionIterator.cs
- DesignTimeXamlWriter.cs
- XmlSchemaElement.cs
- _ProxyChain.cs
- HostedBindingBehavior.cs
- TextLineResult.cs
- DuplicateContext.cs
- ShaperBuffers.cs
- MimeBasePart.cs
- UIElement.cs
- WindowClosedEventArgs.cs
- HostingMessageProperty.cs
- SafeEventLogWriteHandle.cs
- XsltLoader.cs
- HtmlForm.cs
- SynthesizerStateChangedEventArgs.cs
- XmlDocumentFragment.cs
- WebBrowserNavigatingEventHandler.cs
- UnhandledExceptionEventArgs.cs
- _TLSstream.cs
- ObjectCloneHelper.cs
- XsdBuilder.cs
- DataGridViewMethods.cs
- TextEffect.cs
- AuthenticatingEventArgs.cs
- TryExpression.cs
- NavigationExpr.cs
- DataGridViewComboBoxEditingControl.cs
- CategoryEditor.cs
- ContourSegment.cs
- TrackingMemoryStream.cs
- BaseTemplateParser.cs
- ButtonBase.cs
- EventLogPropertySelector.cs
- Main.cs
- ColorTransform.cs
- TraceSection.cs
- ReturnValue.cs
- PngBitmapDecoder.cs
- SpeakCompletedEventArgs.cs
- TransformGroup.cs
- SystemWebSectionGroup.cs
- VisualBasicValue.cs
- AttributedMetaModel.cs
- GridEntryCollection.cs
- SEHException.cs
- XmlDataCollection.cs
- ProcessRequestArgs.cs
- XmlDocument.cs
- ColorInterpolationModeValidation.cs
- DesignerCategoryAttribute.cs
- TypefaceCollection.cs
- NamespaceDecl.cs
- PropertyDescriptorComparer.cs
- RepeaterItemCollection.cs
- DbCommandTree.cs
- XmlSchemaExporter.cs
- NetCodeGroup.cs
- KeyGestureConverter.cs
- WebPartConnectionsCancelVerb.cs
- SubclassTypeValidator.cs
- EntityDataSourceConfigureObjectContext.cs
- ProvidePropertyAttribute.cs
- Gdiplus.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- Panel.cs
- CheckableControlBaseAdapter.cs
- StateRuntime.cs
- Trace.cs
- EntryIndex.cs
- ReservationCollection.cs
- SurrogateEncoder.cs
- SafeLocalMemHandle.cs
- WMIInterop.cs
- SrgsNameValueTag.cs
- ImpersonateTokenRef.cs
- SmiRequestExecutor.cs
- XmlFileEditor.cs
- TreeViewCancelEvent.cs
- IPHostEntry.cs