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
- UriTemplatePathSegment.cs
- PhysicalAddress.cs
- SmtpFailedRecipientException.cs
- CultureInfo.cs
- ApplyTemplatesAction.cs
- JumpPath.cs
- SqlDelegatedTransaction.cs
- UserControl.cs
- EntityDataSourceDesignerHelper.cs
- DurationConverter.cs
- CryptoApi.cs
- CacheHelper.cs
- HMAC.cs
- TypeGenericEnumerableViewSchema.cs
- ListItemParagraph.cs
- MenuItemAutomationPeer.cs
- __Filters.cs
- SeekStoryboard.cs
- ClosableStream.cs
- Literal.cs
- DropShadowEffect.cs
- AttributeCollection.cs
- RawAppCommandInputReport.cs
- DbParameterHelper.cs
- DataObjectPastingEventArgs.cs
- ProxyElement.cs
- SoapRpcMethodAttribute.cs
- XmlValidatingReaderImpl.cs
- StatusBar.cs
- XmlILModule.cs
- StreamGeometry.cs
- HwndKeyboardInputProvider.cs
- DispatcherSynchronizationContext.cs
- EditorPart.cs
- EditorPartChrome.cs
- RenderTargetBitmap.cs
- SystemKeyConverter.cs
- NativeObjectSecurity.cs
- PageThemeCodeDomTreeGenerator.cs
- PropertyOverridesTypeEditor.cs
- BinaryWriter.cs
- DataServiceRequestException.cs
- EncoderExceptionFallback.cs
- MimeWriter.cs
- SmiTypedGetterSetter.cs
- LifetimeServices.cs
- XmlWellformedWriterHelpers.cs
- SqlDataAdapter.cs
- ServiceModelConfigurationElementCollection.cs
- FieldBuilder.cs
- DbDataRecord.cs
- SendKeys.cs
- DoubleAnimationUsingKeyFrames.cs
- InstalledFontCollection.cs
- ContentPosition.cs
- Sequence.cs
- Function.cs
- AbstractDataSvcMapFileLoader.cs
- TextRangeAdaptor.cs
- InvokeAction.cs
- StackSpiller.Generated.cs
- DataTableNewRowEvent.cs
- ExpressionBuilder.cs
- TextTreeTextBlock.cs
- SessionStateContainer.cs
- ByteStream.cs
- FieldAccessException.cs
- SmtpException.cs
- CompletionProxy.cs
- GridPatternIdentifiers.cs
- ChtmlTextWriter.cs
- DocumentPageView.cs
- MenuRendererClassic.cs
- PasswordTextContainer.cs
- CriticalFinalizerObject.cs
- CompoundFileStreamReference.cs
- WindowHideOrCloseTracker.cs
- MethodBody.cs
- HttpApplicationFactory.cs
- PersonalizationDictionary.cs
- SoapIgnoreAttribute.cs
- UdpDuplexChannel.cs
- MultiAsyncResult.cs
- ConsoleTraceListener.cs
- Accessible.cs
- AllMembershipCondition.cs
- FixedPosition.cs
- HtmlWindowCollection.cs
- PropertiesTab.cs
- ScriptMethodAttribute.cs
- TraceData.cs
- XmlCharType.cs
- ElementInit.cs
- ErasingStroke.cs
- WorkflowOwnerAsyncResult.cs
- ObservableCollection.cs
- XmlQualifiedNameTest.cs
- InheritanceContextChangedEventManager.cs
- DeflateStream.cs
- VariableAction.cs