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
- SecurityElement.cs
- ProviderException.cs
- BindingGroup.cs
- Stack.cs
- _AcceptOverlappedAsyncResult.cs
- SourceFileBuildProvider.cs
- FontClient.cs
- OpCopier.cs
- XPathNavigatorKeyComparer.cs
- HtmlTableRow.cs
- DocumentApplicationJournalEntry.cs
- CodeIdentifiers.cs
- TextPatternIdentifiers.cs
- XmlSerializerAssemblyAttribute.cs
- CategoryValueConverter.cs
- NegotiateStream.cs
- LinearQuaternionKeyFrame.cs
- CreateUserWizardAutoFormat.cs
- ScriptingProfileServiceSection.cs
- LinearKeyFrames.cs
- DependencyPropertyValueSerializer.cs
- EncodingInfo.cs
- DrawingGroup.cs
- RemotingException.cs
- MiniAssembly.cs
- LockCookie.cs
- QilXmlReader.cs
- DataViewSettingCollection.cs
- FixedElement.cs
- _AutoWebProxyScriptWrapper.cs
- ResourceIDHelper.cs
- Mouse.cs
- DbConvert.cs
- ParserContext.cs
- designeractionbehavior.cs
- RunInstallerAttribute.cs
- IsolationInterop.cs
- CodeTypeDelegate.cs
- OrCondition.cs
- Touch.cs
- FixedSOMImage.cs
- DataGridCellEditEndingEventArgs.cs
- CompilationUtil.cs
- TokenBasedSet.cs
- HtmlInputReset.cs
- SamlAuthorityBinding.cs
- ConstructorBuilder.cs
- ReferenceService.cs
- UriParserTemplates.cs
- LogicalTreeHelper.cs
- DesignerAttribute.cs
- SerializationAttributes.cs
- DataRelationCollection.cs
- Matrix.cs
- HtmlInputButton.cs
- figurelength.cs
- SubMenuStyleCollectionEditor.cs
- DoubleLink.cs
- PermissionToken.cs
- TextTrailingCharacterEllipsis.cs
- LogPolicy.cs
- Cell.cs
- IdnElement.cs
- ConvertersCollection.cs
- DataGridViewControlCollection.cs
- ScriptResourceAttribute.cs
- Sentence.cs
- ComAwareEventInfo.cs
- FontDifferentiator.cs
- ErrorBehavior.cs
- ConstantSlot.cs
- ConstructorExpr.cs
- MaterializeFromAtom.cs
- ErasingStroke.cs
- PlainXmlWriter.cs
- ObjectComplexPropertyMapping.cs
- assemblycache.cs
- SerializationSectionGroup.cs
- XmlException.cs
- DecoderExceptionFallback.cs
- WebSysDescriptionAttribute.cs
- OleDbStruct.cs
- WebPartEditVerb.cs
- UserControlAutomationPeer.cs
- PageContent.cs
- MailWebEventProvider.cs
- SolidBrush.cs
- _SSPIWrapper.cs
- DataPager.cs
- CodeGenerator.cs
- NamespaceCollection.cs
- BitmapCodecInfoInternal.cs
- WindowsButton.cs
- ScriptResourceMapping.cs
- SafeRightsManagementHandle.cs
- BitArray.cs
- ScrollEvent.cs
- IsolationInterop.cs
- ReflectEventDescriptor.cs
- SQLMembershipProvider.cs