Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- StructuralComparisons.cs
- OutputCacheProfileCollection.cs
- DocumentViewerAutomationPeer.cs
- StickyNoteAnnotations.cs
- BindingWorker.cs
- FixedSOMContainer.cs
- FastEncoderWindow.cs
- __ComObject.cs
- RawAppCommandInputReport.cs
- ObjectConverter.cs
- FormsAuthenticationTicket.cs
- selecteditemcollection.cs
- StringStorage.cs
- Logging.cs
- nulltextnavigator.cs
- XmlSchemaParticle.cs
- JsonQueryStringConverter.cs
- BuildProvider.cs
- AgileSafeNativeMemoryHandle.cs
- WindowsStatic.cs
- PolyBezierSegmentFigureLogic.cs
- TypeConverterHelper.cs
- ConfigurationProperty.cs
- MouseButton.cs
- OdbcTransaction.cs
- ProvidersHelper.cs
- AvTraceDetails.cs
- EventLogger.cs
- CorrelationActionMessageFilter.cs
- GroupItem.cs
- FileSystemInfo.cs
- Material.cs
- SettingsSection.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- GridViewRowPresenter.cs
- UrlSyndicationContent.cs
- SmiEventSink_DeferedProcessing.cs
- FileSystemWatcher.cs
- ISAPIApplicationHost.cs
- Substitution.cs
- LocalBuilder.cs
- SelectorAutomationPeer.cs
- RegexCharClass.cs
- precedingsibling.cs
- SqlUtils.cs
- OleDbRowUpdatedEvent.cs
- SvcMapFile.cs
- PtsCache.cs
- NativeMethodsCLR.cs
- LocalValueEnumerator.cs
- DataGridViewComponentPropertyGridSite.cs
- RetrieveVirtualItemEventArgs.cs
- TextSearch.cs
- EntityDataSourceWrapper.cs
- DefaultClaimSet.cs
- LingerOption.cs
- MetafileHeaderWmf.cs
- Privilege.cs
- BasicViewGenerator.cs
- PaginationProgressEventArgs.cs
- SoapProcessingBehavior.cs
- AssemblyBuilderData.cs
- XmlArrayItemAttributes.cs
- DomainUpDown.cs
- SerializationStore.cs
- ExplicitDiscriminatorMap.cs
- DefaultBindingPropertyAttribute.cs
- MeasureItemEvent.cs
- DataGridViewHeaderCell.cs
- MultiBindingExpression.cs
- DesignerTransactionCloseEvent.cs
- DbConnectionClosed.cs
- DataGridColumnCollection.cs
- FilterElement.cs
- ArcSegment.cs
- httpstaticobjectscollection.cs
- ObjectCacheSettings.cs
- XmlQueryType.cs
- SqlDataSourceView.cs
- ThemeableAttribute.cs
- DataGridCellAutomationPeer.cs
- AssociationEndMember.cs
- EventPropertyMap.cs
- AssemblyNameProxy.cs
- CFGGrammar.cs
- TableLayoutPanel.cs
- ListArgumentProvider.cs
- BitmapCodecInfoInternal.cs
- HttpFileCollection.cs
- UrlMapping.cs
- FileEnumerator.cs
- SiteMapHierarchicalDataSourceView.cs
- DbBuffer.cs
- ValidationResults.cs
- Parser.cs
- SessionParameter.cs
- ValueTypeFixupInfo.cs
- ErrorStyle.cs
- StoreContentChangedEventArgs.cs
- EventLogTraceListener.cs