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
- RegexGroup.cs
- PerfCounters.cs
- TimeZone.cs
- Triplet.cs
- formatter.cs
- ExceptionDetail.cs
- GPStream.cs
- Style.cs
- returneventsaver.cs
- _ShellExpression.cs
- BitmapData.cs
- IndexedEnumerable.cs
- ExceptionWrapper.cs
- PaperSource.cs
- DelegateSerializationHolder.cs
- RepeatButtonAutomationPeer.cs
- TypeSystem.cs
- TableDetailsRow.cs
- DataReaderContainer.cs
- TrackingProvider.cs
- NavigationPropertyEmitter.cs
- TransformProviderWrapper.cs
- SqlDataSourceFilteringEventArgs.cs
- QualificationDataItem.cs
- Rfc2898DeriveBytes.cs
- TemplateControlParser.cs
- MissingSatelliteAssemblyException.cs
- HttpCapabilitiesEvaluator.cs
- Evidence.cs
- ArrayHelper.cs
- XmlNodeChangedEventManager.cs
- Pkcs9Attribute.cs
- MethodToken.cs
- HttpRuntime.cs
- OutputCacheSection.cs
- CodeRemoveEventStatement.cs
- OpCodes.cs
- ReachDocumentReferenceSerializer.cs
- MatrixStack.cs
- QilInvokeEarlyBound.cs
- CompilerTypeWithParams.cs
- UnmanagedMarshal.cs
- Button.cs
- ExecutionProperties.cs
- Type.cs
- EncodingTable.cs
- AnnotationResourceCollection.cs
- EvidenceBase.cs
- ButtonBase.cs
- StyleConverter.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- DynamicResourceExtensionConverter.cs
- WebPartTransformerCollection.cs
- CorrelationManager.cs
- PlainXmlSerializer.cs
- XmlTextAttribute.cs
- DataBoundControlAdapter.cs
- HttpDictionary.cs
- JsonByteArrayDataContract.cs
- GridViewColumnCollectionChangedEventArgs.cs
- WindowsTreeView.cs
- ThreadWorkerController.cs
- BitmapInitialize.cs
- QuaternionAnimation.cs
- TextServicesDisplayAttribute.cs
- HtmlInputControl.cs
- PropertyRef.cs
- OperationResponse.cs
- TdsParserSafeHandles.cs
- CustomValidator.cs
- QilFunction.cs
- ParamArrayAttribute.cs
- XhtmlConformanceSection.cs
- EntityDataSourceMemberPath.cs
- TypeReference.cs
- CodeSnippetStatement.cs
- XmlSerializer.cs
- HyperLinkDesigner.cs
- UriTemplateEquivalenceComparer.cs
- DataSetUtil.cs
- RelationshipEntry.cs
- SrgsGrammarCompiler.cs
- PropertyTabAttribute.cs
- DataTableMapping.cs
- ListBox.cs
- SettingsSection.cs
- BasicCommandTreeVisitor.cs
- DbMetaDataFactory.cs
- UpDownEvent.cs
- Decorator.cs
- DBDataPermission.cs
- ExtractCollection.cs
- SchemaManager.cs
- TargetConverter.cs
- XmlSerializer.cs
- DeflateStream.cs
- Marshal.cs
- ServiceChannelProxy.cs
- CommentEmitter.cs
- ISessionStateStore.cs