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
- WebConfigurationManager.cs
- AuthorizationRule.cs
- WarningException.cs
- HttpModuleCollection.cs
- InstanceDescriptor.cs
- Recipient.cs
- DBPropSet.cs
- FirstQueryOperator.cs
- StatusBar.cs
- PersonalizationProvider.cs
- DesignerActionKeyboardBehavior.cs
- PcmConverter.cs
- NetTcpBindingCollectionElement.cs
- AnimatedTypeHelpers.cs
- DataServiceRequestArgs.cs
- Console.cs
- SystemGatewayIPAddressInformation.cs
- ListInitExpression.cs
- DocumentPageHost.cs
- DispatcherSynchronizationContext.cs
- DynamicFilterExpression.cs
- Deflater.cs
- TransformedBitmap.cs
- ComponentChangingEvent.cs
- ReferentialConstraint.cs
- DataGridColumn.cs
- Rules.cs
- DataRowCollection.cs
- SqlPersonalizationProvider.cs
- SettingsPropertyValueCollection.cs
- Int32RectValueSerializer.cs
- RightsManagementEncryptionTransform.cs
- SafeHandles.cs
- WebPartMovingEventArgs.cs
- SparseMemoryStream.cs
- SafeRegistryHandle.cs
- PerfProviderCollection.cs
- RadioButtonList.cs
- WebPartUserCapability.cs
- ResourceExpressionBuilder.cs
- FrameworkTemplate.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- SolidBrush.cs
- BamlRecordHelper.cs
- CompositeActivityCodeGenerator.cs
- CodeTypeParameterCollection.cs
- WebPartZoneBaseDesigner.cs
- XamlFigureLengthSerializer.cs
- MachineKeySection.cs
- AppDomain.cs
- RuntimeCompatibilityAttribute.cs
- Rotation3DAnimation.cs
- ToRequest.cs
- SerializationObjectManager.cs
- datacache.cs
- ChineseLunisolarCalendar.cs
- WinEventTracker.cs
- WebChannelFactory.cs
- TemplateColumn.cs
- OrderedDictionary.cs
- PolicyManager.cs
- PersonalizableTypeEntry.cs
- remotingproxy.cs
- DataGridViewImageColumn.cs
- Line.cs
- OleDbParameterCollection.cs
- MarkupProperty.cs
- ConfigUtil.cs
- DateTimeUtil.cs
- DirectoryRootQuery.cs
- MultipartIdentifier.cs
- ConfigXmlSignificantWhitespace.cs
- FacetValueContainer.cs
- LongPath.cs
- TraceRecord.cs
- MemberDomainMap.cs
- PrimarySelectionGlyph.cs
- BuilderInfo.cs
- SeekableMessageNavigator.cs
- BindableAttribute.cs
- OdbcConnectionStringbuilder.cs
- ListenDesigner.cs
- GenerateTemporaryTargetAssembly.cs
- PluralizationServiceUtil.cs
- PageBuildProvider.cs
- PersonalizationDictionary.cs
- EncoderParameters.cs
- ActivationArguments.cs
- XPathBuilder.cs
- SQLBytes.cs
- EventLogger.cs
- ListArgumentProvider.cs
- SlipBehavior.cs
- StrokeCollectionConverter.cs
- IUnknownConstantAttribute.cs
- GridView.cs
- ToolTip.cs
- PropertyGridCommands.cs
- OperatingSystem.cs
- Property.cs