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
- Vector3DKeyFrameCollection.cs
- OrderedDictionary.cs
- NavigatorOutput.cs
- XmlArrayItemAttributes.cs
- DataProtection.cs
- TargetException.cs
- ChannelSinkStacks.cs
- DeadLetterQueue.cs
- AsyncDataRequest.cs
- CompareValidator.cs
- ByeMessageCD1.cs
- ExecutionScope.cs
- TransactionCache.cs
- ByteAnimationUsingKeyFrames.cs
- SQLStringStorage.cs
- ELinqQueryState.cs
- HttpValueCollection.cs
- XNodeSchemaApplier.cs
- WindowsGraphicsCacheManager.cs
- NetworkAddressChange.cs
- IriParsingElement.cs
- BrowserDefinition.cs
- PermissionAttributes.cs
- WorkflowCommandExtensionItem.cs
- _HelperAsyncResults.cs
- ErrorRuntimeConfig.cs
- GroupDescription.cs
- DataSourceHelper.cs
- ResourceDescriptionAttribute.cs
- ParameterCollection.cs
- WSSecureConversationDec2005.cs
- RowCache.cs
- ResolvedKeyFrameEntry.cs
- Connector.xaml.cs
- DataTableNewRowEvent.cs
- AssociationProvider.cs
- ParameterCollection.cs
- TypeBinaryExpression.cs
- SafeProcessHandle.cs
- DelayedRegex.cs
- InfoCardSchemas.cs
- TemplateControlBuildProvider.cs
- AssemblyBuilder.cs
- LinqDataSourceContextEventArgs.cs
- EdmRelationshipRoleAttribute.cs
- HyperLink.cs
- HtmlInputButton.cs
- UniformGrid.cs
- SqlRowUpdatingEvent.cs
- ImageMetadata.cs
- ProxyWebPartManager.cs
- FrameworkElement.cs
- UnmanagedHandle.cs
- HttpClientChannel.cs
- InfoCardSymmetricAlgorithm.cs
- HitTestDrawingContextWalker.cs
- InternalPermissions.cs
- CodeTypeReference.cs
- JpegBitmapDecoder.cs
- ProfessionalColors.cs
- securitycriticaldataClass.cs
- LocalValueEnumerator.cs
- ForeignConstraint.cs
- SymbolEqualComparer.cs
- ElementInit.cs
- TraceXPathNavigator.cs
- PathSegment.cs
- HttpPostedFile.cs
- CodeStatement.cs
- METAHEADER.cs
- CheckBoxStandardAdapter.cs
- TextBoxAutomationPeer.cs
- QueryOperator.cs
- smtppermission.cs
- HtmlCalendarAdapter.cs
- SessionStateModule.cs
- AccessViolationException.cs
- _NTAuthentication.cs
- latinshape.cs
- PrimitiveXmlSerializers.cs
- CompilationLock.cs
- EntityTransaction.cs
- SqlClientFactory.cs
- GridViewAutoFormat.cs
- SourceItem.cs
- StateManagedCollection.cs
- Int32EqualityComparer.cs
- BaseValidator.cs
- TransformValueSerializer.cs
- _NestedSingleAsyncResult.cs
- PasswordDeriveBytes.cs
- RandomDelayQueuedSendsAsyncResult.cs
- TypeSchema.cs
- AppSettingsReader.cs
- FixUp.cs
- HttpListenerResponse.cs
- DataRelationCollection.cs
- ModuleBuilderData.cs
- RelationshipDetailsRow.cs
- TextTrailingCharacterEllipsis.cs