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
- MsmqNonTransactedPoisonHandler.cs
- NoClickablePointException.cs
- UserValidatedEventArgs.cs
- TimeStampChecker.cs
- Utils.cs
- SafeArrayRankMismatchException.cs
- Selector.cs
- TextBoxDesigner.cs
- QueryOutputWriter.cs
- ProfileBuildProvider.cs
- SemanticTag.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- FrameSecurityDescriptor.cs
- FormViewRow.cs
- AttributeCollection.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- Method.cs
- FixedSchema.cs
- SqlTrackingQuery.cs
- EditorZoneBase.cs
- Method.cs
- ChannelBase.cs
- IntersectQueryOperator.cs
- ForeignConstraint.cs
- UTF7Encoding.cs
- FileDocument.cs
- GridViewUpdateEventArgs.cs
- Attributes.cs
- NonceCache.cs
- MobileListItemCollection.cs
- NonVisualControlAttribute.cs
- WpfSharedXamlSchemaContext.cs
- StaticContext.cs
- TransformDescriptor.cs
- SettingsPropertyIsReadOnlyException.cs
- XhtmlTextWriter.cs
- PeerCollaboration.cs
- MouseDevice.cs
- StateMachineDesignerPaint.cs
- BrowserCapabilitiesFactory35.cs
- EventSinkActivity.cs
- ToolStripPanelCell.cs
- ErrorLog.cs
- ObjectDataSourceMethodEventArgs.cs
- SettingsAttributeDictionary.cs
- TextElementCollectionHelper.cs
- ContextMenuStripGroup.cs
- SiteOfOriginPart.cs
- DataExpression.cs
- QilPatternVisitor.cs
- CodeTypeOfExpression.cs
- EventLogPermissionHolder.cs
- AvTraceFormat.cs
- SharedPersonalizationStateInfo.cs
- MimeParameterWriter.cs
- WebServiceHost.cs
- SetterBase.cs
- DataBoundLiteralControl.cs
- indexingfiltermarshaler.cs
- UniqueID.cs
- DataGridViewSelectedColumnCollection.cs
- DeclarativeCatalogPartDesigner.cs
- CodeAccessPermission.cs
- ChangeTracker.cs
- Properties.cs
- WpfGeneratedKnownProperties.cs
- HttpWebRequestElement.cs
- CounterSampleCalculator.cs
- HtmlSelect.cs
- InvalidPropValue.cs
- TextElement.cs
- SolidColorBrush.cs
- ClientTargetCollection.cs
- XmlKeywords.cs
- Attachment.cs
- EnumerableCollectionView.cs
- Relationship.cs
- AsyncContentLoadedEventArgs.cs
- QuaternionValueSerializer.cs
- SqlDataSourceStatusEventArgs.cs
- HttpListener.cs
- FileDetails.cs
- HostedHttpRequestAsyncResult.cs
- PageWrapper.cs
- BufferedOutputStream.cs
- GridItemPattern.cs
- ModelProperty.cs
- StyleSheetDesigner.cs
- TabletCollection.cs
- DiscoveryClientReferences.cs
- FutureFactory.cs
- MatchSingleFxEngineOpcode.cs
- MethodCallConverter.cs
- TypePresenter.xaml.cs
- Ipv6Element.cs
- RefExpr.cs
- InlineObject.cs
- HtmlTableRowCollection.cs
- NamespaceInfo.cs
- DockEditor.cs