Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / Primitives / ResizeGrip.cs / 1305600 / 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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DetailsViewInsertedEventArgs.cs
- Pair.cs
- CustomCategoryAttribute.cs
- AutoSizeToolBoxItem.cs
- ICollection.cs
- HttpsHostedTransportConfiguration.cs
- ParameterCollectionEditor.cs
- UserNameSecurityTokenAuthenticator.cs
- RtfFormatStack.cs
- MemoryRecordBuffer.cs
- ProfileParameter.cs
- MsmqBindingMonitor.cs
- BezierSegment.cs
- WindowsFormsDesignerOptionService.cs
- PersistenceProviderElement.cs
- TextMessageEncodingBindingElement.cs
- AmbientProperties.cs
- sqlstateclientmanager.cs
- GridErrorDlg.cs
- TextMarkerSource.cs
- RewritingPass.cs
- DropShadowEffect.cs
- ScrollBar.cs
- ControlBuilderAttribute.cs
- ProfilePropertyMetadata.cs
- Array.cs
- Rules.cs
- SafeCryptoHandles.cs
- NoneExcludedImageIndexConverter.cs
- XslNumber.cs
- DropShadowBitmapEffect.cs
- x509store.cs
- GridViewCancelEditEventArgs.cs
- PeerMessageDispatcher.cs
- MessageEncodingBindingElementImporter.cs
- PowerModeChangedEventArgs.cs
- BatchParser.cs
- OneOfElement.cs
- HtmlUtf8RawTextWriter.cs
- DecodeHelper.cs
- NonClientArea.cs
- BindValidationContext.cs
- RawAppCommandInputReport.cs
- DataIdProcessor.cs
- LoggedException.cs
- Helpers.cs
- ViewGenResults.cs
- Activation.cs
- EarlyBoundInfo.cs
- PropertyItemInternal.cs
- ToolStripMenuItemDesigner.cs
- XmlSchemaAttributeGroup.cs
- DataSvcMapFile.cs
- IOThreadScheduler.cs
- ValueUnavailableException.cs
- PropertyEmitterBase.cs
- ScrollContentPresenter.cs
- ListenerConnectionDemuxer.cs
- MouseButtonEventArgs.cs
- BinaryUtilClasses.cs
- FontEmbeddingManager.cs
- DefaultValueConverter.cs
- TextWriter.cs
- regiisutil.cs
- FixedTextBuilder.cs
- PersonalizationState.cs
- MsmqBindingElementBase.cs
- WCFServiceClientProxyGenerator.cs
- OleDbParameter.cs
- NegationPusher.cs
- MsmqException.cs
- path.cs
- StrongNameIdentityPermission.cs
- TypedTableBase.cs
- StorageEntityTypeMapping.cs
- DataViewManager.cs
- SymmetricCryptoHandle.cs
- ZipIOLocalFileDataDescriptor.cs
- _CommandStream.cs
- SortQueryOperator.cs
- RepeatInfo.cs
- DrawingBrush.cs
- ParserContext.cs
- XmlSerializer.cs
- PaintValueEventArgs.cs
- RelatedPropertyManager.cs
- DeploymentSectionCache.cs
- UInt64Storage.cs
- UnauthorizedWebPart.cs
- SerializerProvider.cs
- ProfilePropertySettings.cs
- StateChangeEvent.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- XmlWriterDelegator.cs
- XmlQueryRuntime.cs
- TearOffProxy.cs
- ExpressionBuilder.cs
- ColorConvertedBitmap.cs
- MSAAEventDispatcher.cs
- DWriteFactory.cs