Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Documents / ColumnResizeAdorner.cs / 1 / ColumnResizeAdorner.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: Adorner for column resize.
//
// History:
// 08/19/2004 : [....] - Created
//
//---------------------------------------------------------------------------
using System;
using System.Diagnostics;
using System.Windows.Documents;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using MS.Win32;
using MS.Internal;
namespace System.Windows.Documents.Internal
{
internal class ColumnResizeAdorner : Adorner
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
///
/// C'tor for adorner
///
///
/// FramwerokElement with TextView to which this element is attached
/// as adorner.
///
internal ColumnResizeAdorner(UIElement scope) : base(scope)
{
Debug.Assert(scope != null);
// position
_pen = new Pen(new SolidColorBrush(Colors.LightSlateGray), 2.0);
_x = Double.NaN;
_top = Double.NaN;
_height = Double.NaN;
}
#endregion Constructors
//------------------------------------------------------
//
// Public Methods
//
//-----------------------------------------------------
#region Public Methods
///
/// Add a transform so that the adorner is in right spot.
///
///
/// The transform applied to the object the adorner adorns
///
///
/// Transform to apply to the adorner
///
public override GeneralTransform GetDesiredTransform(GeneralTransform transform)
{
GeneralTransformGroup group;
TranslateTransform translation;
group = new GeneralTransformGroup();
translation = new TranslateTransform(_x, _top);
group.Children.Add(translation);
if (transform != null)
{
group.Children.Add(transform);
}
return group;
}
#endregion Public Methods
//------------------------------------------------------
//
// Protected Methods
//
//------------------------------------------------------
#region Protected Methods
protected override void OnRender(DrawingContext drawingContext)
{
// Render as a 2 pixel wide rect, one pixel in each bordering char bounding box.
drawingContext.DrawLine(_pen, new Point(0, 0),
new Point(0, _height));
}
#endregion Protected Events
//-----------------------------------------------------
//
// Internal Methods
//
//------------------------------------------------------
#region Internal Methods
///
/// Updates position for adorner.
///
///
///
internal void Update(double newX)
{
if(_x != newX)
{
_x = newX;
AdornerLayer adornerLayer;
adornerLayer = VisualTreeHelper.GetParent(this) as AdornerLayer;
if (adornerLayer != null)
{
// It may be null when TextBox is detached from a tree
adornerLayer.Update(AdornedElement);
adornerLayer.InvalidateVisual();
}
}
}
internal void Initialize(UIElement renderScope, double xPos, double yPos, double height)
{
Debug.Assert(_adornerLayer == null, "Attempt to overwrite existing AdornerLayer!");
_adornerLayer = AdornerLayer.GetAdornerLayer(renderScope);
if (_adornerLayer != null)
{
_adornerLayer.Add(this);
}
_x = xPos;
_top = yPos;
_height = height;
}
internal void Uninitialize()
{
if (_adornerLayer != null)
{
_adornerLayer.Remove(this);
_adornerLayer = null;
}
}
#endregion Internal methods
//-----------------------------------------------------
//
// Private Methods
//
//-----------------------------------------------------
#region Private Methods
#endregion Private methods
//-----------------------------------------------------
//
// Private Fields
//
//------------------------------------------------------
#region Private Fields
// x position
private double _x;
// top position
private double _top;
// height
private double _height;
private Pen _pen;
// Cached adornerlayer
private AdornerLayer _adornerLayer;
#endregion Private Fields
}
}
// 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
- FixedDSBuilder.cs
- MergeLocalizationDirectives.cs
- ReadOnlyHierarchicalDataSource.cs
- StyleCollection.cs
- AuthenticationSection.cs
- ItemsPanelTemplate.cs
- GridViewCommandEventArgs.cs
- mediaclock.cs
- FreezableOperations.cs
- StateChangeEvent.cs
- ServiceRoute.cs
- CheckBoxField.cs
- XmlILAnnotation.cs
- ADConnectionHelper.cs
- InstallerTypeAttribute.cs
- SingleConverter.cs
- CompilerGeneratedAttribute.cs
- PinnedBufferMemoryStream.cs
- linebase.cs
- TimeSpanMinutesConverter.cs
- CodeFieldReferenceExpression.cs
- PackageFilter.cs
- ScrollData.cs
- ElementNotAvailableException.cs
- Hex.cs
- Assembly.cs
- UserControlAutomationPeer.cs
- DataGridViewAccessibleObject.cs
- WindowsAuthenticationModule.cs
- SqlTransaction.cs
- TableLayoutStyleCollection.cs
- DataProtection.cs
- CommandEventArgs.cs
- ControlAdapter.cs
- WebPartMovingEventArgs.cs
- TreeViewAutomationPeer.cs
- DSASignatureFormatter.cs
- UnknownExceptionActionHelper.cs
- ProgressBar.cs
- CapabilitiesSection.cs
- ModelTreeEnumerator.cs
- LoginUtil.cs
- Exceptions.cs
- SwitchAttribute.cs
- TreeViewEvent.cs
- XPathScanner.cs
- WebSysDisplayNameAttribute.cs
- SessionSwitchEventArgs.cs
- DbCommandDefinition.cs
- Table.cs
- ObjectDataSourceDisposingEventArgs.cs
- BinaryFormatterWriter.cs
- EventBuilder.cs
- CompareValidator.cs
- User.cs
- SqlUDTStorage.cs
- XmlSchemaValidator.cs
- UncommonField.cs
- WindowsListViewGroupHelper.cs
- activationcontext.cs
- WsdlParser.cs
- CriticalFinalizerObject.cs
- TraceEventCache.cs
- TargetException.cs
- InputLanguageEventArgs.cs
- TextCompositionManager.cs
- FontStyle.cs
- DBConcurrencyException.cs
- TraceContextEventArgs.cs
- ViewManagerAttribute.cs
- ProfilePropertyNameValidator.cs
- MaterialGroup.cs
- TypeConverterBase.cs
- PhysicalAddress.cs
- SystemIPInterfaceStatistics.cs
- IPipelineRuntime.cs
- TreeNodeCollection.cs
- Util.cs
- ButtonFlatAdapter.cs
- SHA384CryptoServiceProvider.cs
- XmlSchemaComplexContent.cs
- PreProcessor.cs
- AspNetSynchronizationContext.cs
- IDataContractSurrogate.cs
- Aggregates.cs
- HeaderedItemsControl.cs
- SignHashRequest.cs
- IgnoreSection.cs
- WebConfigurationManager.cs
- ScrollItemProviderWrapper.cs
- DataServiceQueryOfT.cs
- VisualSerializer.cs
- ListViewEditEventArgs.cs
- NativeStructs.cs
- KeyValueConfigurationElement.cs
- OleStrCAMarshaler.cs
- XmlSchemaType.cs
- SchemaImporter.cs
- BinaryReader.cs
- ServiceControllerDesigner.cs