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 property.
///
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
///
/// 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
- CodeEventReferenceExpression.cs
- PartialCachingAttribute.cs
- Propagator.JoinPropagator.SubstitutingCloneVisitor.cs
- WorkerRequest.cs
- HtmlInputFile.cs
- IndexerHelper.cs
- IMembershipProvider.cs
- CompatibleComparer.cs
- NamespaceInfo.cs
- BuildProviderCollection.cs
- RubberbandSelector.cs
- PrimitiveDataContract.cs
- LoginDesigner.cs
- VBIdentifierDesigner.xaml.cs
- ProjectionPath.cs
- ContainerParagraph.cs
- CaseInsensitiveHashCodeProvider.cs
- ExtenderControl.cs
- DictionaryManager.cs
- VirtualDirectoryMappingCollection.cs
- PasswordPropertyTextAttribute.cs
- CodeSnippetExpression.cs
- BulletedListEventArgs.cs
- CommandEventArgs.cs
- XmlSchemaSimpleTypeRestriction.cs
- ObjectManager.cs
- _HeaderInfoTable.cs
- IItemProperties.cs
- SqlDependency.cs
- FixedHyperLink.cs
- MultiPageTextView.cs
- DeviceFilterEditorDialog.cs
- WebResourceUtil.cs
- PasswordRecoveryDesigner.cs
- Utility.cs
- TextSimpleMarkerProperties.cs
- PointLight.cs
- XmlSigningNodeWriter.cs
- CodeAttributeArgumentCollection.cs
- MarkerProperties.cs
- EntityDataReader.cs
- ControlSerializer.cs
- XPathNodePointer.cs
- DropTarget.cs
- DisableDpiAwarenessAttribute.cs
- MappingException.cs
- WriteableOnDemandStream.cs
- _HTTPDateParse.cs
- BuildManager.cs
- WebAdminConfigurationHelper.cs
- GeometryCombineModeValidation.cs
- ByteKeyFrameCollection.cs
- SetStoryboardSpeedRatio.cs
- XmlnsDefinitionAttribute.cs
- BufferedResponseStream.cs
- PeerApplicationLaunchInfo.cs
- WebPartUserCapability.cs
- ThaiBuddhistCalendar.cs
- Queue.cs
- BrushValueSerializer.cs
- SafeNativeMethods.cs
- CellParagraph.cs
- QueryResponse.cs
- ExpressionConverter.cs
- HttpProfileBase.cs
- WebEventCodes.cs
- FilteredAttributeCollection.cs
- SecUtil.cs
- PropertyConverter.cs
- ProcessHost.cs
- DataGridAutomationPeer.cs
- DataSourceView.cs
- TimerElapsedEvenArgs.cs
- ResourceReferenceExpression.cs
- ChannelManager.cs
- StylusTip.cs
- SaveFileDialog.cs
- SplayTreeNode.cs
- StringArrayConverter.cs
- XmlElementList.cs
- TextBoxBase.cs
- ParseElement.cs
- ScaleTransform.cs
- DataColumn.cs
- TypographyProperties.cs
- ZipIOBlockManager.cs
- FileDialog.cs
- DSASignatureFormatter.cs
- webbrowsersite.cs
- ExecutedRoutedEventArgs.cs
- SecurityElement.cs
- ServicePointManagerElement.cs
- Quaternion.cs
- EventPropertyMap.cs
- HotSpotCollection.cs
- DrawingGroup.cs
- TileModeValidation.cs
- SharedStatics.cs
- ByteKeyFrameCollection.cs
- MarkupExtensionReturnTypeAttribute.cs