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
- QueryableFilterRepeater.cs
- GridViewActionList.cs
- ViewStateModeByIdAttribute.cs
- AlphabeticalEnumConverter.cs
- AnimationClock.cs
- unsafenativemethodstextservices.cs
- WebBrowser.cs
- SendKeys.cs
- ItemAutomationPeer.cs
- WinEventWrap.cs
- Point.cs
- ChannelRequirements.cs
- MimeBasePart.cs
- BinaryFormatterWriter.cs
- BehaviorEditorPart.cs
- ClientTargetCollection.cs
- WindowExtensionMethods.cs
- RoleManagerEventArgs.cs
- DateTimeSerializationSection.cs
- GifBitmapEncoder.cs
- GraphicsContext.cs
- DataGridParentRows.cs
- FlowLayoutPanel.cs
- AccessDataSource.cs
- AppliedDeviceFiltersDialog.cs
- CryptoConfig.cs
- Constants.cs
- FixedSOMPage.cs
- EqualityArray.cs
- ThousandthOfEmRealPoints.cs
- DetailsViewInsertedEventArgs.cs
- Matrix3DConverter.cs
- VectorAnimation.cs
- TypeGeneratedEventArgs.cs
- XmlExpressionDumper.cs
- ProvidePropertyAttribute.cs
- _SslState.cs
- Rect.cs
- ConfigurationElementProperty.cs
- DataContractJsonSerializer.cs
- XmlRawWriterWrapper.cs
- DoubleAnimationBase.cs
- SimplePropertyEntry.cs
- DataDocumentXPathNavigator.cs
- WebPartTransformerCollection.cs
- PlainXmlWriter.cs
- HandledMouseEvent.cs
- Monitor.cs
- SortFieldComparer.cs
- UnsafeNativeMethods.cs
- TTSEvent.cs
- PEFileEvidenceFactory.cs
- CustomLineCap.cs
- WaitHandle.cs
- HttpWebResponse.cs
- Error.cs
- ProcessHostConfigUtils.cs
- PipeStream.cs
- CopyAttributesAction.cs
- TextEndOfParagraph.cs
- TypeForwardedToAttribute.cs
- ResourceSet.cs
- PowerModeChangedEventArgs.cs
- ArglessEventHandlerProxy.cs
- TcpProcessProtocolHandler.cs
- SqlBulkCopyColumnMapping.cs
- Timeline.cs
- ServiceHttpHandlerFactory.cs
- contentDescriptor.cs
- DBConnection.cs
- Calendar.cs
- Delegate.cs
- BinaryReader.cs
- CodeIdentifier.cs
- CookieParameter.cs
- InstancePersistenceCommand.cs
- BinHexEncoder.cs
- CommandPlan.cs
- DataKeyArray.cs
- HealthMonitoringSection.cs
- Cursor.cs
- DataContractSet.cs
- SQLRoleProvider.cs
- ControlIdConverter.cs
- QueueTransferProtocol.cs
- TextParagraphCache.cs
- tabpagecollectioneditor.cs
- SqlMetaData.cs
- X509Utils.cs
- DefaultBindingPropertyAttribute.cs
- SemanticResolver.cs
- CroppedBitmap.cs
- SqlProviderServices.cs
- ProjectionPlan.cs
- WhitespaceRuleReader.cs
- ScrollViewerAutomationPeer.cs
- ProtectedConfigurationSection.cs
- EventEntry.cs
- ProcessHostConfigUtils.cs
- ControlParser.cs