Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / Primitives / ResizeGrip.cs / 1305600 / ResizeGrip.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Implements the ResizeGrip control // // History // 10/24/03 hamidm Created // //--------------------------------------------------------------------------- using System; using System.Diagnostics; using System.Windows; using System.Windows.Threading; using System.Windows.Media; using System.Windows.Shapes; #if OLD_AUTOMATION using System.Windows.Automation.Provider; #endif namespace System.Windows.Controls.Primitives { ////// The ResizeGrip control enables the Window object to have a resize grip. This control should be /// made part of the Window's style visual tree. /// ////// /// #if OLD_AUTOMATION [Automation(AccessibilityControlType = "Thumb")] #endif public class ResizeGrip : Control { //---------------------------------------------- // // Constructors // //---------------------------------------------- #region Constructors static ResizeGrip() { DefaultStyleKeyProperty.OverrideMetadata(typeof(ResizeGrip), new FrameworkPropertyMetadata(typeof(ResizeGrip))); _dType = DependencyObjectType.FromSystemTypeInternal(typeof(ResizeGrip)); Window.IWindowServiceProperty.OverrideMetadata( typeof(ResizeGrip), new FrameworkPropertyMetadata(new PropertyChangedCallback(_OnWindowServiceChanged))); } ////// Default ResizeGrip constructor /// ////// Automatic determination of current Dispatcher. Use alternative constructor /// that accepts a Dispatcher for best performance. /// public ResizeGrip() : base() { } #endregion Constructors //---------------------------------------------- // // Private Methods // //---------------------------------------------- #region Private Methods private static void _OnWindowServiceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ResizeGrip rg = d as ResizeGrip; Debug.Assert(rg != null, "DependencyObject must be of type ResizeGrip."); rg.OnWindowServiceChanged(e.OldValue as Window, e.NewValue as Window); } ////// When IWindowService is invalidated, it means that this control is either placed into /// a window's visual tree or taken out. If we are in a new Window's visual tree, we /// want to set the reference to this object inside the Window. Window uses this /// reference in its WM_NCHITTEST code /// private void OnWindowServiceChanged(Window oldWindow, Window newWindow) { if ((oldWindow != null) && (oldWindow != newWindow)) { oldWindow.ClearResizeGripControl(this); } if (newWindow != null) { newWindow.SetResizeGripControl(this); } } #region DTypeThemeStyleKey // Returns the DependencyObjectType for the registered ThemeStyleKey's default // value. Controls will override this method to return approriate types. internal override DependencyObjectType DTypeThemeStyleKey { get { return _dType; } } private static DependencyObjectType _dType; #endregion DTypeThemeStyleKey // // 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 28; } } #endregion Private 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: Implements the ResizeGrip control // // History // 10/24/03 hamidm Created // //--------------------------------------------------------------------------- using System; using System.Diagnostics; using System.Windows; using System.Windows.Threading; using System.Windows.Media; using System.Windows.Shapes; #if OLD_AUTOMATION using System.Windows.Automation.Provider; #endif namespace System.Windows.Controls.Primitives { ////// The ResizeGrip control enables the Window object to have a resize grip. This control should be /// made part of the Window's style visual tree. /// ////// /// #if OLD_AUTOMATION [Automation(AccessibilityControlType = "Thumb")] #endif public class ResizeGrip : Control { //---------------------------------------------- // // Constructors // //---------------------------------------------- #region Constructors static ResizeGrip() { DefaultStyleKeyProperty.OverrideMetadata(typeof(ResizeGrip), new FrameworkPropertyMetadata(typeof(ResizeGrip))); _dType = DependencyObjectType.FromSystemTypeInternal(typeof(ResizeGrip)); Window.IWindowServiceProperty.OverrideMetadata( typeof(ResizeGrip), new FrameworkPropertyMetadata(new PropertyChangedCallback(_OnWindowServiceChanged))); } ////// Default ResizeGrip constructor /// ////// Automatic determination of current Dispatcher. Use alternative constructor /// that accepts a Dispatcher for best performance. /// public ResizeGrip() : base() { } #endregion Constructors //---------------------------------------------- // // Private Methods // //---------------------------------------------- #region Private Methods private static void _OnWindowServiceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ResizeGrip rg = d as ResizeGrip; Debug.Assert(rg != null, "DependencyObject must be of type ResizeGrip."); rg.OnWindowServiceChanged(e.OldValue as Window, e.NewValue as Window); } ////// When IWindowService is invalidated, it means that this control is either placed into /// a window's visual tree or taken out. If we are in a new Window's visual tree, we /// want to set the reference to this object inside the Window. Window uses this /// reference in its WM_NCHITTEST code /// private void OnWindowServiceChanged(Window oldWindow, Window newWindow) { if ((oldWindow != null) && (oldWindow != newWindow)) { oldWindow.ClearResizeGripControl(this); } if (newWindow != null) { newWindow.SetResizeGripControl(this); } } #region DTypeThemeStyleKey // Returns the DependencyObjectType for the registered ThemeStyleKey's default // value. Controls will override this method to return approriate types. internal override DependencyObjectType DTypeThemeStyleKey { get { return _dType; } } private static DependencyObjectType _dType; #endregion DTypeThemeStyleKey // // 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 28; } } #endregion Private 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
- InvalidOleVariantTypeException.cs
- Scripts.cs
- EntityDataSourceValidationException.cs
- InkPresenterAutomationPeer.cs
- CanonicalXml.cs
- CollectionConverter.cs
- CreateDataSourceDialog.cs
- COM2Enum.cs
- HtmlElementEventArgs.cs
- WindowsSlider.cs
- StoryFragments.cs
- MetaModel.cs
- TextBox.cs
- ToolStripPanelDesigner.cs
- WmpBitmapEncoder.cs
- XmlLinkedNode.cs
- HttpConfigurationSystem.cs
- Viewport2DVisual3D.cs
- BaseDataList.cs
- QuaternionKeyFrameCollection.cs
- JoinCqlBlock.cs
- PartialCachingAttribute.cs
- Bezier.cs
- BookmarkOptionsHelper.cs
- MultiAsyncResult.cs
- RouteItem.cs
- TimeEnumHelper.cs
- XmlCountingReader.cs
- RegexEditorDialog.cs
- BufferBuilder.cs
- __ComObject.cs
- GeometryHitTestResult.cs
- GACIdentityPermission.cs
- CollectionExtensions.cs
- LongAverageAggregationOperator.cs
- StdValidatorsAndConverters.cs
- Constraint.cs
- Command.cs
- ComponentEditorPage.cs
- ConfigurationStrings.cs
- TagMapCollection.cs
- CatalogPartChrome.cs
- ServiceNameElement.cs
- TrustLevelCollection.cs
- webproxy.cs
- SecurityHelper.cs
- SecurityResources.cs
- OleDbConnectionInternal.cs
- ClientEventManager.cs
- ConfigurationErrorsException.cs
- EntityDataSourceStatementEditorForm.cs
- OpenFileDialog.cs
- ControlPaint.cs
- RectConverter.cs
- ImageBrush.cs
- TextMessageEncoder.cs
- ClickablePoint.cs
- LambdaCompiler.Generated.cs
- SetStoryboardSpeedRatio.cs
- PointConverter.cs
- XmlReaderDelegator.cs
- XPathAncestorQuery.cs
- TextEndOfParagraph.cs
- _ProxyRegBlob.cs
- WindowsProgressbar.cs
- SqlSupersetValidator.cs
- mediapermission.cs
- PropertyValidationContext.cs
- WebPartManagerInternals.cs
- BuildProvider.cs
- DependencyObjectPropertyDescriptor.cs
- Span.cs
- IBuiltInEvidence.cs
- DispatcherProcessingDisabled.cs
- TextContainer.cs
- BitmapFrameEncode.cs
- BasicSecurityProfileVersion.cs
- Size3DConverter.cs
- BufferedWebEventProvider.cs
- XmlNodeChangedEventManager.cs
- TypedRowGenerator.cs
- RegularExpressionValidator.cs
- ListBindingConverter.cs
- RectangleHotSpot.cs
- DesigntimeLicenseContextSerializer.cs
- serverconfig.cs
- SchemaAttDef.cs
- ScrollProperties.cs
- XmlElement.cs
- TaskScheduler.cs
- MediaEntryAttribute.cs
- XmlCharCheckingWriter.cs
- KnownTypes.cs
- EntityViewContainer.cs
- Win32.cs
- LicenseException.cs
- ObjectItemCollection.cs
- WebScriptEnablingElement.cs
- Trace.cs
- CheckoutException.cs