Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- Timer.cs
- MultiByteCodec.cs
- PathParser.cs
- ACE.cs
- EventLog.cs
- QilXmlReader.cs
- MetadataPropertyAttribute.cs
- D3DImage.cs
- ColorConverter.cs
- DragCompletedEventArgs.cs
- XLinq.cs
- HttpCapabilitiesEvaluator.cs
- CorrelationExtension.cs
- TableRowCollection.cs
- CustomWebEventKey.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- AttributeEmitter.cs
- ControlTemplate.cs
- CustomAttributeFormatException.cs
- XPathNodeInfoAtom.cs
- CodeMethodReturnStatement.cs
- BindingOperations.cs
- AutomationPatternInfo.cs
- ByteStreamBufferedMessageData.cs
- ItemsControlAutomationPeer.cs
- StringAttributeCollection.cs
- GridItem.cs
- SystemIcmpV4Statistics.cs
- MeshGeometry3D.cs
- AsyncStreamReader.cs
- ListViewInsertionMark.cs
- FlagsAttribute.cs
- PenCursorManager.cs
- SqlResolver.cs
- ContentType.cs
- SqlProfileProvider.cs
- DoubleCollectionConverter.cs
- Matrix3D.cs
- HTTPNotFoundHandler.cs
- DbExpressionVisitor_TResultType.cs
- Debug.cs
- AppSettingsExpressionBuilder.cs
- XPathSelectionIterator.cs
- SimplePropertyEntry.cs
- DecimalKeyFrameCollection.cs
- MessageEnumerator.cs
- CodeAssignStatement.cs
- _ProxyChain.cs
- ListViewEditEventArgs.cs
- HotCommands.cs
- RuntimeResourceSet.cs
- MailMessage.cs
- BrowserCapabilitiesCodeGenerator.cs
- DataColumnPropertyDescriptor.cs
- TabControlDesigner.cs
- XamlSerializerUtil.cs
- COM2IProvidePropertyBuilderHandler.cs
- DbInsertCommandTree.cs
- And.cs
- DelegatingStream.cs
- StringAttributeCollection.cs
- Transactions.cs
- Stopwatch.cs
- QilLoop.cs
- Transform3D.cs
- TagMapInfo.cs
- ExpressionCopier.cs
- ClientUrlResolverWrapper.cs
- ProjectionPath.cs
- ResourceExpression.cs
- SafeRegistryHandle.cs
- XamlNamespaceHelper.cs
- Queue.cs
- RouteData.cs
- UIElementHelper.cs
- ProviderUtil.cs
- HMACRIPEMD160.cs
- SpecialNameAttribute.cs
- StatusBarPanelClickEvent.cs
- MenuScrollingVisibilityConverter.cs
- MeshGeometry3D.cs
- SymbolType.cs
- SqlCacheDependencyDatabase.cs
- ActivityDesignerAccessibleObject.cs
- BlurBitmapEffect.cs
- MarkupWriter.cs
- WsdlBuildProvider.cs
- DataRelation.cs
- LineServicesCallbacks.cs
- TextEndOfParagraph.cs
- UIElement.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- AutomationElement.cs
- XmlEncodedRawTextWriter.cs
- HttpClientCertificate.cs
- SafeFileMappingHandle.cs
- PassportAuthenticationEventArgs.cs
- FixedPosition.cs
- NeutralResourcesLanguageAttribute.cs
- InstallerTypeAttribute.cs