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
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RelationshipFixer.cs
- VoiceInfo.cs
- FunctionParameter.cs
- _StreamFramer.cs
- RightsManagementPermission.cs
- TypeLibConverter.cs
- GraphicsState.cs
- ClientConfigurationSystem.cs
- PropertyReferenceSerializer.cs
- ObjectSecurity.cs
- BinarySerializer.cs
- VectorAnimationUsingKeyFrames.cs
- Timer.cs
- RequestStatusBarUpdateEventArgs.cs
- PointLightBase.cs
- JsonObjectDataContract.cs
- RijndaelManaged.cs
- UriParserTemplates.cs
- AudioStateChangedEventArgs.cs
- OpenFileDialog.cs
- TrustManager.cs
- ClientConfigurationSystem.cs
- MemoryMappedViewStream.cs
- TextBoxDesigner.cs
- StyleXamlTreeBuilder.cs
- BitmapMetadataBlob.cs
- SizeKeyFrameCollection.cs
- DecoderNLS.cs
- x509store.cs
- OdbcReferenceCollection.cs
- Random.cs
- DeploymentSection.cs
- KnownTypesProvider.cs
- ILGenerator.cs
- PresentationTraceSources.cs
- _ListenerRequestStream.cs
- DynamicILGenerator.cs
- Group.cs
- ApplicationSecurityManager.cs
- DetailsViewUpdateEventArgs.cs
- PeerCustomResolverSettings.cs
- CompilerLocalReference.cs
- MimeParameterWriter.cs
- DataGridViewCellLinkedList.cs
- ProtocolReflector.cs
- RenderData.cs
- arabicshape.cs
- DesignerMetadata.cs
- LongSumAggregationOperator.cs
- RadioButton.cs
- SizeConverter.cs
- NextPreviousPagerField.cs
- BamlTreeMap.cs
- TextOnlyOutput.cs
- ComboBox.cs
- ExpressionBuilder.cs
- ComEventsMethod.cs
- WorkflowViewElement.cs
- ParameterElement.cs
- TableDesigner.cs
- BitmapInitialize.cs
- IdentitySection.cs
- XPathNodePointer.cs
- ReadOnlyObservableCollection.cs
- ToolBarTray.cs
- FilteredXmlReader.cs
- ZeroOpNode.cs
- DataTemplateSelector.cs
- WebPartDescriptionCollection.cs
- ListChangedEventArgs.cs
- XPathDocumentBuilder.cs
- BamlLocalizer.cs
- EntryWrittenEventArgs.cs
- GeneralTransform.cs
- HyperLinkColumn.cs
- SpecularMaterial.cs
- CultureMapper.cs
- WebRequestModuleElement.cs
- SingleAnimationUsingKeyFrames.cs
- PipelineModuleStepContainer.cs
- DefaultTraceListener.cs
- FontNamesConverter.cs
- TextAdaptor.cs
- ProfilePropertyMetadata.cs
- BamlResourceDeserializer.cs
- UIntPtr.cs
- MouseEventArgs.cs
- LoginView.cs
- DefaultProxySection.cs
- HttpDigestClientElement.cs
- ManipulationStartingEventArgs.cs
- SizeConverter.cs
- BasicViewGenerator.cs
- XmlSchemaExternal.cs
- EndPoint.cs
- StreamResourceInfo.cs
- SelectedDatesCollection.cs
- ParallelDesigner.cs
- HtmlShim.cs
- DataTemplateKey.cs