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
- XmlEntity.cs
- ListMarkerLine.cs
- Int32CollectionConverter.cs
- DesignerActionTextItem.cs
- GcHandle.cs
- Substitution.cs
- BufferAllocator.cs
- LayoutUtils.cs
- ModelPerspective.cs
- ZoneLinkButton.cs
- TextEditorCopyPaste.cs
- KeyInterop.cs
- CqlLexer.cs
- CodeExporter.cs
- Process.cs
- TouchDevice.cs
- BitmapScalingModeValidation.cs
- InvokeMethodDesigner.xaml.cs
- DataGridViewRowsAddedEventArgs.cs
- WebServiceHostFactory.cs
- RequestQueue.cs
- RelatedImageListAttribute.cs
- CodeDelegateCreateExpression.cs
- TextComposition.cs
- LongTypeConverter.cs
- DelegateTypeInfo.cs
- BitmapDownload.cs
- GenericArgumentsUpdater.cs
- DrawingImage.cs
- ShaderEffect.cs
- OracleSqlParser.cs
- TdsParserStaticMethods.cs
- CFGGrammar.cs
- PopupEventArgs.cs
- TransformValueSerializer.cs
- DBCommandBuilder.cs
- SymbolEqualComparer.cs
- DataGridCaption.cs
- ErrorTableItemStyle.cs
- GroupLabel.cs
- ControlOperationInvoker.cs
- AbstractDataSvcMapFileLoader.cs
- CqlErrorHelper.cs
- NoPersistProperty.cs
- MessageCredentialType.cs
- ParseChildrenAsPropertiesAttribute.cs
- HtmlTernaryTree.cs
- ColumnResult.cs
- ChangeInterceptorAttribute.cs
- HMACSHA512.cs
- DependencyPropertyHelper.cs
- NTAccount.cs
- ComPlusDiagnosticTraceRecords.cs
- BaseValidator.cs
- SimpleType.cs
- BinaryExpressionHelper.cs
- WebFormsRootDesigner.cs
- ChangePassword.cs
- Rect.cs
- LinqDataSourceInsertEventArgs.cs
- NativeMethods.cs
- ConstraintEnumerator.cs
- NameValuePair.cs
- DataSourceControlBuilder.cs
- UnsafeNativeMethods.cs
- AccessDataSourceWizardForm.cs
- StreamGeometry.cs
- ProfileParameter.cs
- ControlDesigner.cs
- ExpressionVisitorHelpers.cs
- Imaging.cs
- ZipPackage.cs
- SystemParameters.cs
- LinqTreeNodeEvaluator.cs
- ToolStripContextMenu.cs
- InkCanvasSelection.cs
- ComponentEditorPage.cs
- XmlSigningNodeWriter.cs
- FunctionCommandText.cs
- InternalTypeHelper.cs
- QilIterator.cs
- CommandField.cs
- SpeechEvent.cs
- WaitForChangedResult.cs
- BuildManagerHost.cs
- MobileControl.cs
- FileSecurity.cs
- NumericPagerField.cs
- SemaphoreSlim.cs
- PageThemeCodeDomTreeGenerator.cs
- TextSelectionHelper.cs
- Material.cs
- ProcessModuleDesigner.cs
- AdornerDecorator.cs
- XmlSchemaComplexType.cs
- TrustManager.cs
- MenuBase.cs
- Int32EqualityComparer.cs
- InputElement.cs
- RealProxy.cs