Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Documents / AnchoredBlock.cs / 1 / AnchoredBlock.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // Description: AnchoredBlock element. // AnchoredBlock element - an abstract class used as a base for // TextElements incorporated (anchored) into text flow on inline level, // but appearing visually in separate block. // Derived concrete classes are: Floater and Figure. // //--------------------------------------------------------------------------- using System.ComponentModel; // TypeConverter using System.Windows.Media; // Brush using System.Windows.Markup; // ContentProperty using MS.Internal; namespace System.Windows.Documents { ////// AnchoredBlock element - an abstract class used as a base for /// TextElements incorporated (anchored) into text flow on inline level, /// but appearing visually in separate block. /// Derived concrete classes are: Flowter and Figure. /// [ContentProperty("Blocks")] public abstract class AnchoredBlock : Inline { //------------------------------------------------------------------- // // Constructors // //------------------------------------------------------------------- #region Constructors ////// Creates a new AnchoredBlock instance. /// /// /// Optional child of the new AnchoredBlock, may be null. /// /// /// Optional position at which to insert the new AnchoredBlock. May /// be null. /// protected AnchoredBlock(Block block, 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 (block != null) { this.Blocks.Add(block); } } finally { if (insertionPosition != null) { insertionPosition.TextContainer.EndChange(); } } } #endregion Constructors //-------------------------------------------------------------------- // // Public Properties // //------------------------------------------------------------------- #region Public Properties ////// Collection of Blocks contained in this element /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public BlockCollection Blocks { get { return new BlockCollection(this, /*isOwnerParent*/true); } } ////// DependencyProperty for public static readonly DependencyProperty MarginProperty = Block.MarginProperty.AddOwner( typeof(AnchoredBlock), new FrameworkPropertyMetadata( new Thickness(Double.NaN), FrameworkPropertyMetadataOptions.AffectsMeasure)); ///property. /// /// The Margin property specifies the margin of the element. /// public Thickness Margin { get { return (Thickness)GetValue(MarginProperty); } set { SetValue(MarginProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty PaddingProperty = Block.PaddingProperty.AddOwner( typeof(AnchoredBlock), new FrameworkPropertyMetadata( new Thickness(Double.NaN), FrameworkPropertyMetadataOptions.AffectsMeasure)); ///property. /// /// The Padding property specifies the padding of the element. /// public Thickness Padding { get { return (Thickness)GetValue(PaddingProperty); } set { SetValue(PaddingProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty BorderThicknessProperty = Block.BorderThicknessProperty.AddOwner( typeof(AnchoredBlock), new FrameworkPropertyMetadata( new Thickness(), FrameworkPropertyMetadataOptions.AffectsMeasure)); ///property. /// /// The BorderThickness property specifies the border of the element. /// public Thickness BorderThickness { get { return (Thickness)GetValue(BorderThicknessProperty); } set { SetValue(BorderThicknessProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty BorderBrushProperty = Block.BorderBrushProperty.AddOwner( typeof(AnchoredBlock), new FrameworkPropertyMetadata( null, FrameworkPropertyMetadataOptions.AffectsRender)); ///property. /// /// The BorderBrush property specifies the brush of the border. /// public Brush BorderBrush { get { return (Brush)GetValue(BorderBrushProperty); } set { SetValue(BorderBrushProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty TextAlignmentProperty = Block.TextAlignmentProperty.AddOwner(typeof(AnchoredBlock)); ///property. /// /// /// public TextAlignment TextAlignment { get { return (TextAlignment)GetValue(TextAlignmentProperty); } set { SetValue(TextAlignmentProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty LineHeightProperty = Block.LineHeightProperty.AddOwner(typeof(AnchoredBlock)); ///property. /// /// The LineHeight property specifies the height of each generated line box. /// [TypeConverter(typeof(LengthConverter))] public double LineHeight { get { return (double)GetValue(LineHeightProperty); } set { SetValue(LineHeightProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty LineStackingStrategyProperty = Block.LineStackingStrategyProperty.AddOwner(typeof(AnchoredBlock)); ///property. /// /// The LineStackingStrategy property specifies how lines are placed /// public LineStackingStrategy LineStackingStrategy { get { return (LineStackingStrategy)GetValue(LineStackingStrategyProperty); } set { SetValue(LineStackingStrategyProperty, value); } } #endregion Public Proterties #region Internal Methods ////// This method is used by TypeDescriptor to determine if this property should /// be serialized. /// [EditorBrowsable(EditorBrowsableState.Never)] public bool ShouldSerializeBlocks(XamlDesignerSerializationManager manager) { return manager != null && manager.XmlWriter == null; } #endregion //------------------------------------------------------ // // Internal Properties // //------------------------------------------------------ #region Internal Properties ////// Marks this element's left edge as visible to IMEs. /// This means element boundaries will act as word breaks. /// internal override bool IsIMEStructuralElement { get { return true; } } #endregion Internal Properties } } // 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: AnchoredBlock element. // AnchoredBlock element - an abstract class used as a base for // TextElements incorporated (anchored) into text flow on inline level, // but appearing visually in separate block. // Derived concrete classes are: Floater and Figure. // //--------------------------------------------------------------------------- using System.ComponentModel; // TypeConverter using System.Windows.Media; // Brush using System.Windows.Markup; // ContentProperty using MS.Internal; namespace System.Windows.Documents { ////// AnchoredBlock element - an abstract class used as a base for /// TextElements incorporated (anchored) into text flow on inline level, /// but appearing visually in separate block. /// Derived concrete classes are: Flowter and Figure. /// [ContentProperty("Blocks")] public abstract class AnchoredBlock : Inline { //------------------------------------------------------------------- // // Constructors // //------------------------------------------------------------------- #region Constructors ////// Creates a new AnchoredBlock instance. /// /// /// Optional child of the new AnchoredBlock, may be null. /// /// /// Optional position at which to insert the new AnchoredBlock. May /// be null. /// protected AnchoredBlock(Block block, 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 (block != null) { this.Blocks.Add(block); } } finally { if (insertionPosition != null) { insertionPosition.TextContainer.EndChange(); } } } #endregion Constructors //-------------------------------------------------------------------- // // Public Properties // //------------------------------------------------------------------- #region Public Properties ////// Collection of Blocks contained in this element /// [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public BlockCollection Blocks { get { return new BlockCollection(this, /*isOwnerParent*/true); } } ////// DependencyProperty for public static readonly DependencyProperty MarginProperty = Block.MarginProperty.AddOwner( typeof(AnchoredBlock), new FrameworkPropertyMetadata( new Thickness(Double.NaN), FrameworkPropertyMetadataOptions.AffectsMeasure)); ///property. /// /// The Margin property specifies the margin of the element. /// public Thickness Margin { get { return (Thickness)GetValue(MarginProperty); } set { SetValue(MarginProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty PaddingProperty = Block.PaddingProperty.AddOwner( typeof(AnchoredBlock), new FrameworkPropertyMetadata( new Thickness(Double.NaN), FrameworkPropertyMetadataOptions.AffectsMeasure)); ///property. /// /// The Padding property specifies the padding of the element. /// public Thickness Padding { get { return (Thickness)GetValue(PaddingProperty); } set { SetValue(PaddingProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty BorderThicknessProperty = Block.BorderThicknessProperty.AddOwner( typeof(AnchoredBlock), new FrameworkPropertyMetadata( new Thickness(), FrameworkPropertyMetadataOptions.AffectsMeasure)); ///property. /// /// The BorderThickness property specifies the border of the element. /// public Thickness BorderThickness { get { return (Thickness)GetValue(BorderThicknessProperty); } set { SetValue(BorderThicknessProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty BorderBrushProperty = Block.BorderBrushProperty.AddOwner( typeof(AnchoredBlock), new FrameworkPropertyMetadata( null, FrameworkPropertyMetadataOptions.AffectsRender)); ///property. /// /// The BorderBrush property specifies the brush of the border. /// public Brush BorderBrush { get { return (Brush)GetValue(BorderBrushProperty); } set { SetValue(BorderBrushProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty TextAlignmentProperty = Block.TextAlignmentProperty.AddOwner(typeof(AnchoredBlock)); ///property. /// /// /// public TextAlignment TextAlignment { get { return (TextAlignment)GetValue(TextAlignmentProperty); } set { SetValue(TextAlignmentProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty LineHeightProperty = Block.LineHeightProperty.AddOwner(typeof(AnchoredBlock)); ///property. /// /// The LineHeight property specifies the height of each generated line box. /// [TypeConverter(typeof(LengthConverter))] public double LineHeight { get { return (double)GetValue(LineHeightProperty); } set { SetValue(LineHeightProperty, value); } } ////// DependencyProperty for public static readonly DependencyProperty LineStackingStrategyProperty = Block.LineStackingStrategyProperty.AddOwner(typeof(AnchoredBlock)); ///property. /// /// The LineStackingStrategy property specifies how lines are placed /// public LineStackingStrategy LineStackingStrategy { get { return (LineStackingStrategy)GetValue(LineStackingStrategyProperty); } set { SetValue(LineStackingStrategyProperty, value); } } #endregion Public Proterties #region Internal Methods ////// This method is used by TypeDescriptor to determine if this property should /// be serialized. /// [EditorBrowsable(EditorBrowsableState.Never)] public bool ShouldSerializeBlocks(XamlDesignerSerializationManager manager) { return manager != null && manager.XmlWriter == null; } #endregion //------------------------------------------------------ // // Internal Properties // //------------------------------------------------------ #region Internal Properties ////// Marks this element's left edge as visible to IMEs. /// This means element boundaries will act as word breaks. /// internal override bool IsIMEStructuralElement { get { return true; } } #endregion Internal Properties } } // 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
- MaskInputRejectedEventArgs.cs
- WindowsSolidBrush.cs
- ImageListUtils.cs
- Panel.cs
- Utils.cs
- DataGridItemCollection.cs
- PartitionResolver.cs
- TreeViewDesigner.cs
- XmlSerializationGeneratedCode.cs
- CharacterMetricsDictionary.cs
- basemetadatamappingvisitor.cs
- Light.cs
- StrongNamePublicKeyBlob.cs
- MouseGestureValueSerializer.cs
- HierarchicalDataSourceConverter.cs
- XamlHttpHandlerFactory.cs
- CodeLinePragma.cs
- XsdBuilder.cs
- LeaseManager.cs
- InfoCardUIAgent.cs
- HashMembershipCondition.cs
- EncryptedPackageFilter.cs
- ZoneLinkButton.cs
- SqlConnectionManager.cs
- ObjectItemConventionAssemblyLoader.cs
- ElasticEase.cs
- SettingsContext.cs
- _RequestCacheProtocol.cs
- TextAdaptor.cs
- OrderedDictionary.cs
- XmlDataSourceNodeDescriptor.cs
- ConstructorArgumentAttribute.cs
- CodeDOMUtility.cs
- DoubleAnimation.cs
- Identity.cs
- BitmapInitialize.cs
- TraceContext.cs
- BaseTemplateBuildProvider.cs
- ObjectDataSourceChooseTypePanel.cs
- StartUpEventArgs.cs
- ConnectionOrientedTransportElement.cs
- AutoResizedEvent.cs
- XslAstAnalyzer.cs
- Splitter.cs
- RoleManagerEventArgs.cs
- TextServicesCompartmentEventSink.cs
- ListBox.cs
- ButtonChrome.cs
- DataShape.cs
- SerializationObjectManager.cs
- DispatcherExceptionEventArgs.cs
- TrustSection.cs
- DataTableExtensions.cs
- ObjectRef.cs
- SourceFileBuildProvider.cs
- DefaultWorkflowSchedulerService.cs
- _TLSstream.cs
- SizeChangedEventArgs.cs
- FontDriver.cs
- UpdatePanelTriggerCollection.cs
- ColumnBinding.cs
- ExpressionBuilder.cs
- ListControl.cs
- TypeLibConverter.cs
- HitTestFilterBehavior.cs
- AlignmentXValidation.cs
- VScrollBar.cs
- DoubleLinkList.cs
- Facet.cs
- AbsoluteQuery.cs
- DataGridViewComboBoxEditingControl.cs
- _Semaphore.cs
- DataGridColumnEventArgs.cs
- XmlSchemaDatatype.cs
- IPipelineRuntime.cs
- ParserExtension.cs
- SuppressMessageAttribute.cs
- XmlRootAttribute.cs
- CompositeFontFamily.cs
- FilteredXmlReader.cs
- SessionStateModule.cs
- Helpers.cs
- codemethodreferenceexpression.cs
- QilNode.cs
- Double.cs
- SpecialTypeDataContract.cs
- WindowsTooltip.cs
- EventlogProvider.cs
- InstallerTypeAttribute.cs
- WebPartZoneCollection.cs
- ProfileWorkflowElement.cs
- ToolStripDesignerUtils.cs
- ContactManager.cs
- HuffCodec.cs
- ListViewInsertedEventArgs.cs
- WebDisplayNameAttribute.cs
- ToolStripPanelCell.cs
- BinaryObjectReader.cs
- FormatterConverter.cs
- TextSelectionProcessor.cs