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
- MemberAccessException.cs
- ToolStripKeyboardHandlingService.cs
- ProxyDataContractResolver.cs
- TableHeaderCell.cs
- tibetanshape.cs
- EntitySetDataBindingList.cs
- EntryWrittenEventArgs.cs
- JsonMessageEncoderFactory.cs
- ExtendedProtectionPolicyElement.cs
- TreeViewItem.cs
- ConnectionProviderAttribute.cs
- DelayLoadType.cs
- SspiWrapper.cs
- LinqDataSourceContextEventArgs.cs
- LocalizationComments.cs
- System.Data_BID.cs
- TextSelectionProcessor.cs
- ActiveXContainer.cs
- SystemNetHelpers.cs
- InternalsVisibleToAttribute.cs
- Point.cs
- MarkupWriter.cs
- ContextStaticAttribute.cs
- TableAutomationPeer.cs
- XsltException.cs
- SystemIPInterfaceProperties.cs
- UriSection.cs
- ReferencedAssembly.cs
- BufferAllocator.cs
- LicFileLicenseProvider.cs
- Missing.cs
- AnnotationResource.cs
- XPathNodeList.cs
- ContentHostHelper.cs
- Invariant.cs
- BuildProviderCollection.cs
- TableHeaderCell.cs
- RemotingConfigParser.cs
- RawAppCommandInputReport.cs
- OledbConnectionStringbuilder.cs
- RadioButtonAutomationPeer.cs
- WebPartHelpVerb.cs
- CommandEventArgs.cs
- SqlSupersetValidator.cs
- HWStack.cs
- XmlCountingReader.cs
- EtwTrackingBehaviorElement.cs
- WindowsFormsHostAutomationPeer.cs
- SecurityCriticalDataForSet.cs
- HMACSHA384.cs
- MonthCalendar.cs
- NetworkCredential.cs
- Vector3DConverter.cs
- HttpListenerRequest.cs
- ProtocolsConfigurationHandler.cs
- BoundPropertyEntry.cs
- LineProperties.cs
- TextRunTypographyProperties.cs
- HeaderCollection.cs
- SaveFileDialog.cs
- HtmlDocument.cs
- UpDownBase.cs
- BitmapEffectInput.cs
- ZipIOFileItemStream.cs
- DataStreamFromComStream.cs
- Tuple.cs
- TextSchema.cs
- BrushMappingModeValidation.cs
- TraceSwitch.cs
- SelectedDatesCollection.cs
- AuthenticatingEventArgs.cs
- TypeDelegator.cs
- DataObjectPastingEventArgs.cs
- MenuItemStyle.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- XmlCustomFormatter.cs
- WindowsTreeView.cs
- KnownBoxes.cs
- ReadWriteObjectLock.cs
- SrgsRulesCollection.cs
- ThemeDictionaryExtension.cs
- GridViewSortEventArgs.cs
- PermissionSetEnumerator.cs
- sitestring.cs
- DataGridViewLayoutData.cs
- GZipDecoder.cs
- GetLedgerRequest.cs
- WebPartTransformerCollection.cs
- SafeSecurityHelper.cs
- FileSecurity.cs
- ScriptServiceAttribute.cs
- WebColorConverter.cs
- ObjectStateFormatter.cs
- SiteOfOriginContainer.cs
- DigitShape.cs
- Decoder.cs
- Lasso.cs
- TypefaceMetricsCache.cs
- WebPartVerb.cs
- PriorityQueue.cs