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
- ToolboxItemCollection.cs
- TextRangeEditLists.cs
- Triplet.cs
- TypePropertyEditor.cs
- XPathNodeHelper.cs
- Update.cs
- IItemContainerGenerator.cs
- SiteMembershipCondition.cs
- WebPartDisplayModeCollection.cs
- CalendarTable.cs
- EncryptedReference.cs
- NumericUpDownAccelerationCollection.cs
- FigureParagraph.cs
- HiddenField.cs
- ServerIdentity.cs
- PropVariant.cs
- CodeDelegateInvokeExpression.cs
- UserControl.cs
- DesignerCalendarAdapter.cs
- ResourcePool.cs
- PersonalizationStateInfo.cs
- InheritanceContextChangedEventManager.cs
- IPAddress.cs
- NamespaceMapping.cs
- ThrowHelper.cs
- ListBindableAttribute.cs
- BeginEvent.cs
- ILGenerator.cs
- DispatcherTimer.cs
- XmlDataProvider.cs
- SpotLight.cs
- EtwTrace.cs
- WebPartVerbCollection.cs
- ItemContainerGenerator.cs
- Stacktrace.cs
- XslVisitor.cs
- DecimalConstantAttribute.cs
- ProcessHostFactoryHelper.cs
- OleDbRowUpdatingEvent.cs
- CompilerCollection.cs
- MetadataSource.cs
- Converter.cs
- InfoCardTrace.cs
- IgnoreFileBuildProvider.cs
- RequestQueryProcessor.cs
- RedirectionProxy.cs
- TypeDescriptionProvider.cs
- CodeDefaultValueExpression.cs
- Evaluator.cs
- DbConnectionPool.cs
- GroupQuery.cs
- SystemTcpConnection.cs
- AddressHeader.cs
- HtmlTernaryTree.cs
- FixedFlowMap.cs
- ConstructorExpr.cs
- ChangePassword.cs
- JsonCollectionDataContract.cs
- _UriSyntax.cs
- __Error.cs
- RelationshipEntry.cs
- PropertyChangingEventArgs.cs
- CompositeKey.cs
- HttpResponseHeader.cs
- BrowserCapabilitiesCompiler.cs
- SerTrace.cs
- SqlMetaData.cs
- DBSchemaTable.cs
- BinaryQueryOperator.cs
- HtmlTitle.cs
- TextBoxDesigner.cs
- Underline.cs
- FlowDocumentPaginator.cs
- APCustomTypeDescriptor.cs
- EdgeProfileValidation.cs
- WebSysDisplayNameAttribute.cs
- ObjectDataSourceStatusEventArgs.cs
- XmlSchemaAttributeGroupRef.cs
- JapaneseCalendar.cs
- Attributes.cs
- MasterPage.cs
- Transform3D.cs
- DNS.cs
- RemotingServices.cs
- SqlFunctionAttribute.cs
- LicenseProviderAttribute.cs
- QilXmlReader.cs
- TemplateControlBuildProvider.cs
- GridViewHeaderRowPresenter.cs
- InkCanvasFeedbackAdorner.cs
- RewritingValidator.cs
- OracleParameter.cs
- TextContainerHelper.cs
- SecurityMode.cs
- XmlSchemaDocumentation.cs
- URL.cs
- ItemsControl.cs
- XmlSchemaSequence.cs
- SqlNode.cs
- ExtenderControl.cs