Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Controls / Primitives / ResizeGrip.cs / 1 / 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
- SymbolMethod.cs
- ParsedAttributeCollection.cs
- CookieParameter.cs
- MailAddress.cs
- GeometryHitTestParameters.cs
- AsymmetricSignatureFormatter.cs
- VisualBrush.cs
- UpWmlPageAdapter.cs
- WebPartEditorCancelVerb.cs
- XmlSchemaProviderAttribute.cs
- DoubleUtil.cs
- Vector3DAnimationUsingKeyFrames.cs
- Mapping.cs
- PresentationTraceSources.cs
- DefaultPrintController.cs
- Decorator.cs
- Byte.cs
- TabPanel.cs
- ComponentChangingEvent.cs
- Html32TextWriter.cs
- DataServiceHostFactory.cs
- DllHostedComPlusServiceHost.cs
- XamlInt32CollectionSerializer.cs
- AspNetSynchronizationContext.cs
- BaseDataList.cs
- mediapermission.cs
- ParserStreamGeometryContext.cs
- SliderAutomationPeer.cs
- SmtpReplyReaderFactory.cs
- isolationinterop.cs
- VirtualPathUtility.cs
- webbrowsersite.cs
- PersonalizationProviderHelper.cs
- complextypematerializer.cs
- WebConvert.cs
- ErrorTableItemStyle.cs
- TouchEventArgs.cs
- TriggerCollection.cs
- BamlLocalizationDictionary.cs
- DynamicMethod.cs
- SqlReorderer.cs
- TypeToTreeConverter.cs
- GroupStyle.cs
- CustomSignedXml.cs
- TagPrefixAttribute.cs
- DoubleCollection.cs
- LicenseManager.cs
- SQLCharsStorage.cs
- LocalizationParserHooks.cs
- GridSplitter.cs
- smtpconnection.cs
- SqlCacheDependencySection.cs
- CodeExpressionCollection.cs
- ServiceBusyException.cs
- ServiceBusyException.cs
- RolePrincipal.cs
- BitmapMetadataBlob.cs
- ObjectReferenceStack.cs
- TextSelection.cs
- EnumBuilder.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- ArrangedElement.cs
- HttpCachePolicyWrapper.cs
- XmlSchemaRedefine.cs
- BitmapEffect.cs
- CustomAttributeSerializer.cs
- ReliableChannelFactory.cs
- Monitor.cs
- SoapElementAttribute.cs
- DataGridViewTopLeftHeaderCell.cs
- DynamicDataExtensions.cs
- MemberAssignment.cs
- MemberAccessException.cs
- EntityDataSourceContainerNameItem.cs
- XmlSchemaSimpleContent.cs
- BufferedReadStream.cs
- ClientRuntimeConfig.cs
- OdbcParameterCollection.cs
- Tuple.cs
- _SingleItemRequestCache.cs
- ToolboxItem.cs
- ParentQuery.cs
- DataGridViewColumnEventArgs.cs
- DbProviderFactoriesConfigurationHandler.cs
- DataGridViewSortCompareEventArgs.cs
- XmlSerializationGeneratedCode.cs
- ContainerControlDesigner.cs
- WsdlHelpGeneratorElement.cs
- EventRoute.cs
- DesignOnlyAttribute.cs
- SettingsPropertyIsReadOnlyException.cs
- InterleavedZipPartStream.cs
- GraphicsContainer.cs
- SqlWebEventProvider.cs
- TypeValidationEventArgs.cs
- BindingBase.cs
- TargetControlTypeAttribute.cs
- DbConnectionPoolIdentity.cs
- DetailsViewDeleteEventArgs.cs
- InvalidComObjectException.cs