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
- ManagementNamedValueCollection.cs
- DataGridLinkButton.cs
- NamespaceCollection.cs
- StylusCollection.cs
- SqlCacheDependency.cs
- UrlAuthFailedErrorFormatter.cs
- DbConnectionOptions.cs
- DBPropSet.cs
- ContentElement.cs
- WSDualHttpBinding.cs
- SqlMethodCallConverter.cs
- SecurityElement.cs
- ByteStorage.cs
- RuleElement.cs
- Attributes.cs
- InvalidateEvent.cs
- DataControlFieldCell.cs
- SystemIPInterfaceStatistics.cs
- WebPartMenuStyle.cs
- CurrentTimeZone.cs
- ValueOfAction.cs
- Int32CAMarshaler.cs
- ModelItemDictionary.cs
- GroupBoxAutomationPeer.cs
- AddInStore.cs
- COM2TypeInfoProcessor.cs
- TextElement.cs
- XmlSchemaAll.cs
- ServicePointManagerElement.cs
- XamlBrushSerializer.cs
- WriterOutput.cs
- ProxyWebPartConnectionCollection.cs
- TypeSystem.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- SqlTriggerContext.cs
- dtdvalidator.cs
- File.cs
- SqlUtils.cs
- RemotingSurrogateSelector.cs
- ControlAdapter.cs
- SaveFileDialog.cs
- CodeTypeParameterCollection.cs
- ComponentCommands.cs
- Int16AnimationBase.cs
- PointConverter.cs
- JournalEntryListConverter.cs
- AutoResizedEvent.cs
- CalloutQueueItem.cs
- FrameworkPropertyMetadata.cs
- DataControlFieldsEditor.cs
- FunctionDescription.cs
- WinFormsSpinner.cs
- StandardTransformFactory.cs
- SoapConverter.cs
- StringFreezingAttribute.cs
- CacheDependency.cs
- SqlDataSourceRefreshSchemaForm.cs
- UniformGrid.cs
- SQLStringStorage.cs
- AuthenticationService.cs
- HwndStylusInputProvider.cs
- GenericParameterDataContract.cs
- FileStream.cs
- Binding.cs
- SystemIPv6InterfaceProperties.cs
- RightsManagementPermission.cs
- JapaneseLunisolarCalendar.cs
- QueryOutputWriter.cs
- ConcurrentStack.cs
- XmlChoiceIdentifierAttribute.cs
- StorageScalarPropertyMapping.cs
- QueryOpcode.cs
- WorkflowTransactionService.cs
- DataStreamFromComStream.cs
- SimpleHandlerFactory.cs
- AddInServer.cs
- ZeroOpNode.cs
- XmlNodeReader.cs
- ServiceDescription.cs
- ReadOnlyHierarchicalDataSource.cs
- METAHEADER.cs
- GridViewDeleteEventArgs.cs
- DirectoryInfo.cs
- RequestSecurityTokenForGetBrowserToken.cs
- DescendantBaseQuery.cs
- parserscommon.cs
- DocumentXPathNavigator.cs
- ToolStripPanelRow.cs
- UInt64.cs
- Ref.cs
- FontDifferentiator.cs
- ColorTransformHelper.cs
- HtmlShimManager.cs
- ByteAnimation.cs
- Setter.cs
- TextTreeTextElementNode.cs
- OdbcUtils.cs
- RequestBringIntoViewEventArgs.cs
- CopyOfAction.cs
- PrintDialogDesigner.cs