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
- ImageInfo.cs
- ChangesetResponse.cs
- IOException.cs
- SqlCachedBuffer.cs
- RSAOAEPKeyExchangeDeformatter.cs
- XsltOutput.cs
- MediaPlayer.cs
- GroupLabel.cs
- Schema.cs
- BaseInfoTable.cs
- IndexedString.cs
- Delegate.cs
- Currency.cs
- ShaperBuffers.cs
- ThemeableAttribute.cs
- OrderedDictionaryStateHelper.cs
- FunctionDetailsReader.cs
- Expressions.cs
- DesignerDataParameter.cs
- EUCJPEncoding.cs
- StringSorter.cs
- ServiceReference.cs
- PointCollection.cs
- ReadOnlyCollection.cs
- HttpCapabilitiesEvaluator.cs
- WSSecurityPolicy12.cs
- HwndStylusInputProvider.cs
- DesignerActionUIService.cs
- FileDataSourceCache.cs
- SoapHeaderAttribute.cs
- SchemaExporter.cs
- Cursor.cs
- DbConnectionStringBuilder.cs
- EdgeProfileValidation.cs
- XmlSchemaResource.cs
- Shape.cs
- TextContainerChangedEventArgs.cs
- SmiTypedGetterSetter.cs
- XPathItem.cs
- PointHitTestResult.cs
- Constants.cs
- MetaTableHelper.cs
- CompilationLock.cs
- OdbcError.cs
- Mappings.cs
- HttpConfigurationContext.cs
- XmlQueryOutput.cs
- HttpDictionary.cs
- OrderByExpression.cs
- DocumentViewerHelper.cs
- UniqueConstraint.cs
- DetailsViewModeEventArgs.cs
- TabItemWrapperAutomationPeer.cs
- SchemaImporterExtension.cs
- RowUpdatingEventArgs.cs
- Rect3D.cs
- XmlNodeReader.cs
- MetadataPropertyCollection.cs
- NavigateEvent.cs
- Enlistment.cs
- TextParagraphView.cs
- GroupBox.cs
- WebPartRestoreVerb.cs
- ParsedRoute.cs
- TraversalRequest.cs
- BuilderInfo.cs
- SoapSchemaImporter.cs
- Int32Rect.cs
- Buffer.cs
- ExpressionContext.cs
- AmbientLight.cs
- ActivityCodeDomReferenceService.cs
- SymDocumentType.cs
- Attributes.cs
- List.cs
- _NetworkingPerfCounters.cs
- GeometryConverter.cs
- TextWriter.cs
- Mutex.cs
- DataSourceIDConverter.cs
- _TransmitFileOverlappedAsyncResult.cs
- AsyncDataRequest.cs
- SqlCommand.cs
- QueryGenerator.cs
- InternalReceiveMessage.cs
- FormattedText.cs
- EventlogProvider.cs
- SqlProviderManifest.cs
- WorkflowRuntimeServiceElementCollection.cs
- Vector3D.cs
- Panel.cs
- SelectionListComponentEditor.cs
- ImageKeyConverter.cs
- assemblycache.cs
- BCLDebug.cs
- PackageRelationshipCollection.cs
- Transform3D.cs
- CommandBinding.cs
- HostingEnvironment.cs
- WebPartDisplayModeCollection.cs