Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- CodeExporter.cs
- DbConnectionStringBuilder.cs
- CharEntityEncoderFallback.cs
- XmlNodeReader.cs
- Exception.cs
- PropertiesTab.cs
- DeobfuscatingStream.cs
- AssemblyCache.cs
- TextPointer.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- AttributeUsageAttribute.cs
- FragmentQueryProcessor.cs
- SiteMapPath.cs
- Journal.cs
- XmlSchemaAttributeGroupRef.cs
- AutomationPropertyInfo.cs
- HebrewNumber.cs
- HttpListenerContext.cs
- ListMarkerSourceInfo.cs
- DataObjectCopyingEventArgs.cs
- DataBindingCollectionConverter.cs
- FormsAuthenticationCredentials.cs
- DataGridColumnCollection.cs
- TabControlAutomationPeer.cs
- propertytag.cs
- BaseDataList.cs
- DrawingContextWalker.cs
- StateDesigner.Helpers.cs
- ProcessModule.cs
- CngProvider.cs
- ByteAnimation.cs
- ProcessModelSection.cs
- CheckBoxList.cs
- NavigateUrlConverter.cs
- HMACSHA512.cs
- DataServiceRequestArgs.cs
- OutputCacheSettingsSection.cs
- OdbcParameterCollection.cs
- HopperCache.cs
- TextParagraphCache.cs
- DynamicResourceExtension.cs
- QuaternionAnimation.cs
- Cursors.cs
- TraceSection.cs
- CheckBox.cs
- SafeEventLogWriteHandle.cs
- TextBoxAutoCompleteSourceConverter.cs
- FunctionImportElement.cs
- PngBitmapDecoder.cs
- BamlRecordReader.cs
- AutoCompleteStringCollection.cs
- diagnosticsswitches.cs
- ResumeStoryboard.cs
- BuildResult.cs
- DoubleAnimationBase.cs
- PackagingUtilities.cs
- DesignerActionPanel.cs
- GridPatternIdentifiers.cs
- NonBatchDirectoryCompiler.cs
- ListItem.cs
- ExpandCollapseProviderWrapper.cs
- FastEncoder.cs
- EventLogEntry.cs
- ResourcePool.cs
- OptimalTextSource.cs
- EditCommandColumn.cs
- BinaryConverter.cs
- DWriteFactory.cs
- SubclassTypeValidatorAttribute.cs
- DataBinding.cs
- ArgumentException.cs
- DocumentPageTextView.cs
- MenuCommand.cs
- ExternalCalls.cs
- GetWinFXPath.cs
- FileDialogPermission.cs
- DataGridViewCellPaintingEventArgs.cs
- ColorAnimationBase.cs
- DetailsViewDeletedEventArgs.cs
- ApplicationActivator.cs
- TreeViewEvent.cs
- SendSecurityHeader.cs
- WebPartMenuStyle.cs
- WebConvert.cs
- LayoutInformation.cs
- ControllableStoryboardAction.cs
- GeometryModel3D.cs
- FolderLevelBuildProvider.cs
- ServiceContractDetailViewControl.cs
- GiveFeedbackEventArgs.cs
- WriteableOnDemandStream.cs
- ArgumentFixer.cs
- RowToFieldTransformer.cs
- PageRanges.cs
- LambdaCompiler.Generated.cs
- SourceSwitch.cs
- MetadataItem.cs
- Empty.cs
- ProjectionPlanCompiler.cs
- ReliableRequestSessionChannel.cs