Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Documents / TableColumn.cs / 1 / TableColumn.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Table column object implementation. // // History: // 06/19/2003 : [....] - Created // //--------------------------------------------------------------------------- using System; using System.Diagnostics; using System.Windows.Threading; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Media; using MS.Internal.PtsHost.UnsafeNativeMethods; // PTS restrictions namespace System.Windows.Documents { ////// Table column. /// public class TableColumn : FrameworkContentElement { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Creates an instance of a Column /// public TableColumn() { _parentIndex = -1; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods #endregion Public Methods //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties ////// Width property. /// public GridLength Width { get { return (GridLength) GetValue(WidthProperty); } set { SetValue(WidthProperty, value); } } ////// Background property. /// public Brush Background { get { return (Brush) GetValue(BackgroundProperty); } set { SetValue(BackgroundProperty, value); } } #endregion Public Properties //----------------------------------------------------- // // Protected Methods // //------------------------------------------------------ #region Protected Methods #endregion Protected Methods //----------------------------------------------------- // // Internal Methods // //----------------------------------------------------- #region Internal Methods ////// Callback used to notify the Cell about entering model tree. /// internal void OnEnterParentTree() { Table.InvalidateColumns(); } ////// Callback used to notify the Cell about exitting model tree. /// internal void OnExitParentTree() { Table.InvalidateColumns(); } #endregion Internal Methods //----------------------------------------------------- // // Internal Properties // //------------------------------------------------------ #region Internal Properties ////// Table owner accessor /// internal Table Table { get { return Parent as Table; } } ////// Column's index in the parents collection. /// internal int Index { get { return (_parentIndex); } set { Debug.Assert (value >= -1 && _parentIndex != value); _parentIndex = value; } } ////// DefaultWidth /// internal static GridLength DefaultWidth { get { return (new GridLength(0, GridUnitType.Auto)); } } #endregion Internal Properties //----------------------------------------------------- // // Private Methods // //------------------------------------------------------ #region Private Methods ////// private static bool IsValidWidth(object value) { GridLength gridLength = (GridLength) value; if ((gridLength.GridUnitType == GridUnitType.Pixel || gridLength.GridUnitType == GridUnitType.Star) && (gridLength.Value < 0.0)) { return false; } double maxPixel = Math.Min(1000000, PTS.MaxPageSize); if (gridLength.GridUnitType == GridUnitType.Pixel && (gridLength.Value > maxPixel)) { return false; } return true; } #endregion Private Methods //------------------------------------------------------ // // Private Fields // //----------------------------------------------------- #region Private Fields private int _parentIndex; // column's index in parent's children collection #endregion Private Fields //------------------------------------------------------ // // Properties // //----------------------------------------------------- #region Properties ////// /// Width property. /// public static readonly DependencyProperty WidthProperty = DependencyProperty.Register( "Width", typeof(GridLength), typeof(TableColumn), new FrameworkPropertyMetadata( new GridLength(0, GridUnitType.Auto), FrameworkPropertyMetadataOptions.AffectsMeasure, new PropertyChangedCallback(OnWidthChanged)), new ValidateValueCallback(IsValidWidth)); ////// DependencyProperty for public static readonly DependencyProperty BackgroundProperty = Panel.BackgroundProperty.AddOwner( typeof(TableColumn), new FrameworkPropertyMetadata( null, FrameworkPropertyMetadataOptions.AffectsRender, new PropertyChangedCallback(OnBackgroundChanged))); #endregion Properties //----------------------------------------------------- // // Static Initialization // //----------------------------------------------------- #region Static Initialization ///property. /// /// Called when the value of the WidthProperty changes /// private static void OnWidthChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { Table table = ((TableColumn) d).Table; if(table != null) { table.InvalidateColumns(); } } ////// Called when the value of the BackgroundProperty changes /// private static void OnBackgroundChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { Table table = ((TableColumn) d).Table; if(table != null) { table.InvalidateColumns(); } } #endregion Static Initialization } } // 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
- DataGridViewRowPostPaintEventArgs.cs
- Matrix.cs
- SchemaNamespaceManager.cs
- RayMeshGeometry3DHitTestResult.cs
- XPathDocumentBuilder.cs
- RectAnimationClockResource.cs
- ProxyAttribute.cs
- IntSecurity.cs
- CodeLinePragma.cs
- Section.cs
- Splitter.cs
- ParseChildrenAsPropertiesAttribute.cs
- IISUnsafeMethods.cs
- AnnotationComponentChooser.cs
- Base64Stream.cs
- InitializingNewItemEventArgs.cs
- Substitution.cs
- SweepDirectionValidation.cs
- SchemaTableOptionalColumn.cs
- DefaultShape.cs
- LayeredChannelFactory.cs
- DefinitionBase.cs
- DataGridViewDataConnection.cs
- AsymmetricSignatureDeformatter.cs
- SchemaCollectionCompiler.cs
- FacetValueContainer.cs
- ProviderSettings.cs
- CfgParser.cs
- CodeParameterDeclarationExpressionCollection.cs
- ActivityValidator.cs
- TextServicesCompartmentContext.cs
- ListChangedEventArgs.cs
- QilDataSource.cs
- SingleTagSectionHandler.cs
- EmbeddedMailObjectCollectionEditor.cs
- ObjectItemConventionAssemblyLoader.cs
- PersonalizationAdministration.cs
- RegexWorker.cs
- PropertyChange.cs
- XmlWriter.cs
- FrameworkElementAutomationPeer.cs
- WebPartDeleteVerb.cs
- TextElementCollectionHelper.cs
- PathGeometry.cs
- RequestCacheValidator.cs
- BamlResourceSerializer.cs
- basecomparevalidator.cs
- Effect.cs
- ExpressionsCollectionEditor.cs
- FragmentQueryKB.cs
- SQLDecimal.cs
- DisplayInformation.cs
- DataServiceConfiguration.cs
- ClientRuntimeConfig.cs
- AppDomain.cs
- Pkcs7Signer.cs
- ListViewGroupConverter.cs
- HttpCapabilitiesEvaluator.cs
- CqlIdentifiers.cs
- ContentOperations.cs
- UpdateProgress.cs
- controlskin.cs
- SelectionEditingBehavior.cs
- StreamInfo.cs
- ImportedPolicyConversionContext.cs
- SoapReflectionImporter.cs
- ComplusEndpointConfigContainer.cs
- GregorianCalendarHelper.cs
- DBConcurrencyException.cs
- EntityDataSourceQueryBuilder.cs
- DetailsViewInsertEventArgs.cs
- CreateUserWizard.cs
- CompoundFileDeflateTransform.cs
- LoginName.cs
- IgnoreSectionHandler.cs
- XmlAttributeCollection.cs
- PhysicalAddress.cs
- WriteTimeStream.cs
- FileUpload.cs
- ContentControl.cs
- OleAutBinder.cs
- HtmlElementCollection.cs
- SqlUserDefinedAggregateAttribute.cs
- KeyInterop.cs
- CqlLexerHelpers.cs
- DataGridViewMethods.cs
- LayoutInformation.cs
- IssuanceLicense.cs
- IpcClientChannel.cs
- WebPartConnection.cs
- ConstructorNeedsTagAttribute.cs
- WbemException.cs
- Polyline.cs
- FrameSecurityDescriptor.cs
- UserControlAutomationPeer.cs
- RepeaterItemEventArgs.cs
- FixedSOMPageConstructor.cs
- ListenerConfig.cs
- SqlColumnizer.cs
- IndexerNameAttribute.cs