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
- StatusBarDrawItemEvent.cs
- XPathCompiler.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- Encoding.cs
- Rfc2898DeriveBytes.cs
- SafeThemeHandle.cs
- ServiceSecurityAuditElement.cs
- StreamHelper.cs
- OleDbError.cs
- WSDualHttpBinding.cs
- UidPropertyAttribute.cs
- WorkflowLayouts.cs
- WmpBitmapEncoder.cs
- IList.cs
- ProgressBarRenderer.cs
- InfiniteIntConverter.cs
- CodeCommentStatement.cs
- CollectionExtensions.cs
- InputReportEventArgs.cs
- AuthenticationModuleElement.cs
- UserNameSecurityTokenAuthenticator.cs
- PermissionToken.cs
- PageCatalogPart.cs
- EventWaitHandleSecurity.cs
- RawStylusInputCustomData.cs
- UnescapedXmlDiagnosticData.cs
- ListenerElementsCollection.cs
- HtmlElementCollection.cs
- GeometryCombineModeValidation.cs
- XmlSchemaInfo.cs
- CommandField.cs
- ThumbAutomationPeer.cs
- AbandonedMutexException.cs
- StylesEditorDialog.cs
- LinkUtilities.cs
- XamlToRtfWriter.cs
- XmlnsDictionary.cs
- ConsumerConnectionPoint.cs
- SslStreamSecurityUpgradeProvider.cs
- IgnoreFlushAndCloseStream.cs
- TemplatedWizardStep.cs
- DuplexClientBase.cs
- Cell.cs
- BooleanStorage.cs
- SwitchLevelAttribute.cs
- RawStylusInputCustomData.cs
- TransactionScope.cs
- WpfKnownMemberInvoker.cs
- RayMeshGeometry3DHitTestResult.cs
- PeerEndPoint.cs
- BitmapEffectGeneralTransform.cs
- AuthenticationConfig.cs
- ApplicationTrust.cs
- SecureEnvironment.cs
- AxDesigner.cs
- CompiledQueryCacheEntry.cs
- WindowsTooltip.cs
- MarkupCompiler.cs
- ParentUndoUnit.cs
- FormClosedEvent.cs
- XmlSchemaExternal.cs
- StateMachineWorkflow.cs
- ClientScriptManagerWrapper.cs
- XmlException.cs
- XMLUtil.cs
- EmptyStringExpandableObjectConverter.cs
- DesignerValidatorAdapter.cs
- UserControlAutomationPeer.cs
- TextControl.cs
- Environment.cs
- ACE.cs
- SoapRpcServiceAttribute.cs
- SecurityElement.cs
- LogStore.cs
- Typography.cs
- SeekStoryboard.cs
- MemoryStream.cs
- PerfCounterSection.cs
- TextElementCollectionHelper.cs
- AnnouncementClient.cs
- While.cs
- GroupBox.cs
- UnicastIPAddressInformationCollection.cs
- BitmapEffectGeneralTransform.cs
- TextBoxBase.cs
- DataGridViewSelectedColumnCollection.cs
- _ScatterGatherBuffers.cs
- ScriptingProfileServiceSection.cs
- ToolboxComponentsCreatedEventArgs.cs
- PersistenceTypeAttribute.cs
- WebService.cs
- AssemblyFilter.cs
- ExpressionParser.cs
- ParagraphResult.cs
- ListDataHelper.cs
- RequestQueryProcessor.cs
- SqlConnectionStringBuilder.cs
- URLString.cs
- HostingPreferredMapPath.cs