Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DockingAttribute.cs
- Memoizer.cs
- List.cs
- Math.cs
- XmlSchemaAll.cs
- Exception.cs
- TimelineGroup.cs
- ComponentDesigner.cs
- FixedPageAutomationPeer.cs
- Assert.cs
- Underline.cs
- HttpListenerException.cs
- PasswordTextNavigator.cs
- Viewport3DAutomationPeer.cs
- DataGridCellItemAutomationPeer.cs
- XmlIlTypeHelper.cs
- HtmlInputRadioButton.cs
- SchemaObjectWriter.cs
- Int32KeyFrameCollection.cs
- StartFileNameEditor.cs
- BitmapEffectDrawingContextWalker.cs
- StateMachineDesignerPaint.cs
- SqlSupersetValidator.cs
- PreviewPrintController.cs
- OleAutBinder.cs
- RtfFormatStack.cs
- ControllableStoryboardAction.cs
- ModuleConfigurationInfo.cs
- ToolboxDataAttribute.cs
- milrender.cs
- Control.cs
- SyndicationContent.cs
- SharedHttpsTransportManager.cs
- VectorAnimationUsingKeyFrames.cs
- MobileComponentEditorPage.cs
- ReadingWritingEntityEventArgs.cs
- SqlReorderer.cs
- JobDuplex.cs
- basecomparevalidator.cs
- ServicePointManager.cs
- CatalogPartChrome.cs
- ItemPager.cs
- TypeDescriptionProvider.cs
- RadioButtonStandardAdapter.cs
- HebrewCalendar.cs
- StrokeFIndices.cs
- BitmapCodecInfo.cs
- SqlNamer.cs
- XsltArgumentList.cs
- TraceContextEventArgs.cs
- SafeThreadHandle.cs
- OutOfMemoryException.cs
- Soap12ProtocolReflector.cs
- PageCache.cs
- PathSegment.cs
- ExpressionStringBuilder.cs
- TextRunCacheImp.cs
- DockPanel.cs
- OleTxTransaction.cs
- SortExpressionBuilder.cs
- TextTreeUndo.cs
- ContractNamespaceAttribute.cs
- RegexCharClass.cs
- SQLMoneyStorage.cs
- DataGridViewColumnTypeEditor.cs
- nulltextnavigator.cs
- UserPreferenceChangedEventArgs.cs
- SqlHelper.cs
- UntypedNullExpression.cs
- XmlUnspecifiedAttribute.cs
- UdpDuplexChannel.cs
- RouteParametersHelper.cs
- ApplicationSecurityManager.cs
- NativeMethods.cs
- WizardForm.cs
- SoundPlayer.cs
- ZipIOExtraFieldElement.cs
- XPathPatternBuilder.cs
- ContextQuery.cs
- XDRSchema.cs
- DetailsViewRow.cs
- RowTypeElement.cs
- X509LogoTypeExtension.cs
- FocusTracker.cs
- ResponseBodyWriter.cs
- AssemblyAttributesGoHere.cs
- InitializationEventAttribute.cs
- DataServiceRequestOfT.cs
- CatalogPartChrome.cs
- WorkflowServiceInstance.cs
- MarkupCompilePass1.cs
- PropertyNames.cs
- EventSetter.cs
- ProtocolsConfigurationEntry.cs
- MachinePropertyVariants.cs
- DbParameterCollection.cs
- ClientSettingsProvider.cs
- CheckBoxList.cs
- UserControlParser.cs
- CapabilitiesRule.cs