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
- ObjectFullSpanRewriter.cs
- ColorConverter.cs
- DataGridViewCell.cs
- DataGridViewColumnCollectionEditor.cs
- RuleAction.cs
- StrongNameIdentityPermission.cs
- ObjectPersistData.cs
- EastAsianLunisolarCalendar.cs
- HostingPreferredMapPath.cs
- GridViewRowEventArgs.cs
- PageCatalogPartDesigner.cs
- ErrorsHelper.cs
- _OSSOCK.cs
- DecoderBestFitFallback.cs
- WorkflowMarkupSerializerMapping.cs
- PartialToken.cs
- ToolboxItemSnapLineBehavior.cs
- ObjectReaderCompiler.cs
- ToolStripPanelRow.cs
- ClientScriptItemCollection.cs
- Annotation.cs
- PropertyTabChangedEvent.cs
- FamilyTypeface.cs
- CngUIPolicy.cs
- ListViewItemCollectionEditor.cs
- XmlFormatReaderGenerator.cs
- FileController.cs
- Configuration.cs
- ActionItem.cs
- Rect3DValueSerializer.cs
- ZipQueryOperator.cs
- SqlDataSourceCommandParser.cs
- PerfProviderCollection.cs
- WindowsNonControl.cs
- CodeDOMProvider.cs
- DesignerActionPropertyItem.cs
- RadioButtonFlatAdapter.cs
- TransformCryptoHandle.cs
- ResourceDisplayNameAttribute.cs
- MulticastOption.cs
- TypeGeneratedEventArgs.cs
- BitmapEffectDrawing.cs
- ExtendedProperty.cs
- CryptographicAttribute.cs
- DispatcherTimer.cs
- DBDataPermissionAttribute.cs
- BitStack.cs
- SpellerHighlightLayer.cs
- DataObjectEventArgs.cs
- Debugger.cs
- SystemIcons.cs
- XmlSignificantWhitespace.cs
- XslCompiledTransform.cs
- PeerNameRegistration.cs
- MobileControlsSection.cs
- EntityTypeBase.cs
- ToolStripDesignerAvailabilityAttribute.cs
- DataServiceConfiguration.cs
- ZoneButton.cs
- TraceHwndHost.cs
- IpcServerChannel.cs
- EnvelopedSignatureTransform.cs
- TabletDevice.cs
- LambdaCompiler.Unary.cs
- AnnotationResource.cs
- WebScriptEnablingBehavior.cs
- XmlNavigatorFilter.cs
- ColumnHeader.cs
- _AcceptOverlappedAsyncResult.cs
- Sentence.cs
- ImageInfo.cs
- ParserStack.cs
- InputManager.cs
- HtmlFormWrapper.cs
- SqlClientPermission.cs
- ExpandSegmentCollection.cs
- DesignSurfaceManager.cs
- SmtpCommands.cs
- FlowDocumentPageViewerAutomationPeer.cs
- PipeConnection.cs
- OutOfMemoryException.cs
- TraceSection.cs
- designeractionlistschangedeventargs.cs
- ConfigXmlDocument.cs
- ColorTransform.cs
- BitmapEffectInputConnector.cs
- DispatcherHooks.cs
- ParseChildrenAsPropertiesAttribute.cs
- mactripleDES.cs
- ZipIOExtraFieldElement.cs
- DynamicRenderer.cs
- WindowsFormsDesignerOptionService.cs
- DeclaredTypeElementCollection.cs
- TypeConverterHelper.cs
- StateDesigner.LayoutSelectionGlyph.cs
- BitmapEffectState.cs
- SamlAuthorizationDecisionStatement.cs
- RecordManager.cs
- OdbcConnectionOpen.cs
- ComponentDispatcher.cs