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
- Expressions.cs
- AspNetRouteServiceHttpHandler.cs
- VectorKeyFrameCollection.cs
- SignatureHelper.cs
- TextDecorationCollectionConverter.cs
- RuntimeTrackingProfile.cs
- DefaultPropertyAttribute.cs
- ProcessInfo.cs
- ZoneButton.cs
- OpenFileDialog.cs
- NetworkAddressChange.cs
- BrowserCapabilitiesCompiler.cs
- OleCmdHelper.cs
- RtfToXamlReader.cs
- RequiredAttributeAttribute.cs
- RuleDefinitions.cs
- storepermission.cs
- SymbolTable.cs
- CodeMemberProperty.cs
- Hashtable.cs
- XmlLinkedNode.cs
- EmptyEnumerable.cs
- BindingBase.cs
- TypeDescriptor.cs
- RewritingProcessor.cs
- UnsafeNetInfoNativeMethods.cs
- XmlSchemaGroup.cs
- SpecialNameAttribute.cs
- ToolStripManager.cs
- MediaPlayerState.cs
- UriTemplatePathPartiallyEquivalentSet.cs
- XmlIlGenerator.cs
- ListViewGroupItemCollection.cs
- AnimationTimeline.cs
- ResourceReferenceExpressionConverter.cs
- PropertyOrder.cs
- ValidatingReaderNodeData.cs
- SmtpNegotiateAuthenticationModule.cs
- ComponentCommands.cs
- TypeValidationEventArgs.cs
- NavigationFailedEventArgs.cs
- PrintController.cs
- AliasedSlot.cs
- CommonXSendMessage.cs
- ExpressionDumper.cs
- ErrorWebPart.cs
- PlanCompilerUtil.cs
- SimpleType.cs
- StoryFragments.cs
- SapiRecoContext.cs
- SystemIPGlobalProperties.cs
- ForceCopyBuildProvider.cs
- RelationshipWrapper.cs
- SyntaxCheck.cs
- WizardPanel.cs
- ComponentCollection.cs
- GeometryCombineModeValidation.cs
- FamilyCollection.cs
- WindowsScrollBarBits.cs
- InstalledFontCollection.cs
- SoapAttributeOverrides.cs
- DataSvcMapFileSerializer.cs
- TemplateControlCodeDomTreeGenerator.cs
- CollectionViewGroupRoot.cs
- GeneralTransform3D.cs
- CacheOutputQuery.cs
- IDQuery.cs
- HostedNamedPipeTransportManager.cs
- ConnectionPoint.cs
- ColorAnimation.cs
- SmtpReplyReader.cs
- WebPartActionVerb.cs
- BuildProvidersCompiler.cs
- UnmanagedMemoryStream.cs
- OptionalRstParameters.cs
- ListenerConnectionModeReader.cs
- CollectionBase.cs
- SpnEndpointIdentity.cs
- HttpCachePolicy.cs
- NativeCppClassAttribute.cs
- MarkupWriter.cs
- EdmComplexPropertyAttribute.cs
- TagPrefixAttribute.cs
- ModifyActivitiesPropertyDescriptor.cs
- Parallel.cs
- DBAsyncResult.cs
- Vector3DKeyFrameCollection.cs
- DebugController.cs
- CalendarButtonAutomationPeer.cs
- ToolBarPanel.cs
- Point3DConverter.cs
- MiniLockedBorderGlyph.cs
- TextElementEditingBehaviorAttribute.cs
- SiteMap.cs
- configsystem.cs
- TypeResolvingOptions.cs
- XmlDownloadManager.cs
- QuerySafeNavigator.cs
- DataTemplateKey.cs
- List.cs