Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- VarInfo.cs
- ManagementQuery.cs
- Keyboard.cs
- ReflectionHelper.cs
- LocalizableAttribute.cs
- InstanceDataCollectionCollection.cs
- PixelFormats.cs
- CommandManager.cs
- AssemblyBuilderData.cs
- ComPlusTypeValidator.cs
- SoundPlayer.cs
- RequestContext.cs
- SqlDependency.cs
- DefaultAuthorizationContext.cs
- WebRequestModulesSection.cs
- CompilationSection.cs
- CrossSiteScriptingValidation.cs
- DataGridTable.cs
- WebServiceErrorEvent.cs
- ListViewContainer.cs
- HttpRuntime.cs
- BindingSource.cs
- ElementProxy.cs
- CrossSiteScriptingValidation.cs
- figurelengthconverter.cs
- CookieParameter.cs
- ILGenerator.cs
- IssuedTokenClientElement.cs
- MutexSecurity.cs
- PerformanceCounterPermissionEntry.cs
- AutomationElement.cs
- HotSpot.cs
- DayRenderEvent.cs
- TaskFormBase.cs
- AssertUtility.cs
- ThreadStaticAttribute.cs
- LinqDataSourceHelper.cs
- ObjectIDGenerator.cs
- SchemaMapping.cs
- TextTreeRootNode.cs
- SortQuery.cs
- NavigationPropertyEmitter.cs
- XmlSchemaSimpleContentRestriction.cs
- Sql8ConformanceChecker.cs
- Lease.cs
- BooleanExpr.cs
- DeferrableContentConverter.cs
- PerfProviderCollection.cs
- PathStreamGeometryContext.cs
- OleDbPropertySetGuid.cs
- ObfuscationAttribute.cs
- WindowsSolidBrush.cs
- PenThreadPool.cs
- StickyNoteContentControl.cs
- SqlClientPermission.cs
- PositiveTimeSpanValidator.cs
- CroppedBitmap.cs
- WebPartAuthorizationEventArgs.cs
- CollectionChangedEventManager.cs
- ClosableStream.cs
- BaseCodeDomTreeGenerator.cs
- ScriptManager.cs
- SafeNativeMemoryHandle.cs
- PhysicalAddress.cs
- EdmComplexPropertyAttribute.cs
- DispatcherExceptionFilterEventArgs.cs
- LinkButton.cs
- wmiprovider.cs
- TagPrefixInfo.cs
- OracleParameterCollection.cs
- PathFigure.cs
- FilteredDataSetHelper.cs
- WebPartExportVerb.cs
- DataSourceControlBuilder.cs
- SqlDelegatedTransaction.cs
- XmlReflectionMember.cs
- IisTraceWebEventProvider.cs
- Msmq.cs
- StrongNameIdentityPermission.cs
- AdPostCacheSubstitution.cs
- MailHeaderInfo.cs
- XmlAnyElementAttribute.cs
- FamilyTypeface.cs
- Group.cs
- ContentPresenter.cs
- RefType.cs
- TraceLog.cs
- AutoGeneratedFieldProperties.cs
- IISUnsafeMethods.cs
- InheritanceContextHelper.cs
- CopyOfAction.cs
- BindStream.cs
- CompositeTypefaceMetrics.cs
- RectangleGeometry.cs
- ACL.cs
- ArraySegment.cs
- XmlAttributeAttribute.cs
- BitmapPalette.cs
- WebHttpSecurity.cs
- MessageQueueConverter.cs