Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- InnerItemCollectionView.cs
- Mutex.cs
- QueryOperationResponseOfT.cs
- ResolveDuplexAsyncResult.cs
- XamlHostingConfiguration.cs
- DocobjHost.cs
- CacheEntry.cs
- CodeParameterDeclarationExpressionCollection.cs
- PersonalizableAttribute.cs
- CodeTypeReferenceExpression.cs
- CodeTypeReferenceCollection.cs
- Scripts.cs
- AuthorizationRuleCollection.cs
- TextParaLineResult.cs
- ClientRequest.cs
- UriParserTemplates.cs
- DataTableNameHandler.cs
- XmlNamespaceDeclarationsAttribute.cs
- NetworkInformationPermission.cs
- SimpleType.cs
- XmlQueryContext.cs
- ForeignKeyConstraint.cs
- WpfGeneratedKnownTypes.cs
- MetadataHelper.cs
- bindurihelper.cs
- FacetDescription.cs
- AdjustableArrowCap.cs
- PreApplicationStartMethodAttribute.cs
- DataViewListener.cs
- CompModSwitches.cs
- UriSection.cs
- IList.cs
- CompositeKey.cs
- UriWriter.cs
- SerialStream.cs
- SessionPageStatePersister.cs
- SectionUpdates.cs
- HashCodeCombiner.cs
- xmlfixedPageInfo.cs
- ILGenerator.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- DesignerExtenders.cs
- CommandLibraryHelper.cs
- EntityUtil.cs
- DataPagerCommandEventArgs.cs
- BamlResourceSerializer.cs
- SoapBinding.cs
- RoutedEventArgs.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- PropertyIDSet.cs
- EpmSyndicationContentDeSerializer.cs
- XsdBuildProvider.cs
- TraceContext.cs
- TreeWalkHelper.cs
- StylusPointPropertyId.cs
- PropertyGridEditorPart.cs
- DependencyObjectCodeDomSerializer.cs
- MatrixUtil.cs
- DesignTimeParseData.cs
- ColumnTypeConverter.cs
- DocComment.cs
- OdbcEnvironment.cs
- ImageClickEventArgs.cs
- BlobPersonalizationState.cs
- SafeNativeMethodsMilCoreApi.cs
- DataSetMappper.cs
- DataGridSortCommandEventArgs.cs
- ViewGenResults.cs
- Semaphore.cs
- FramingDecoders.cs
- Binding.cs
- SoapAttributes.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- TemplatedMailWebEventProvider.cs
- DoubleAnimationUsingPath.cs
- FrameworkReadOnlyPropertyMetadata.cs
- CorrelationManager.cs
- IdentityHolder.cs
- RouteItem.cs
- ReturnEventArgs.cs
- SqlNamer.cs
- ImageMap.cs
- XmlElementElementCollection.cs
- WebPartActionVerb.cs
- SecurityAttributeGenerationHelper.cs
- NavigationFailedEventArgs.cs
- SelectorItemAutomationPeer.cs
- storepermission.cs
- LogRecordSequence.cs
- AssemblyUtil.cs
- FirstMatchCodeGroup.cs
- PreservationFileReader.cs
- FacetValueContainer.cs
- SqlInternalConnection.cs
- GeneratedView.cs
- Panel.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- FreezableDefaultValueFactory.cs
- Pool.cs
- DataGridBoolColumn.cs