Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / GridViewColumnHeaderAutomationPeer.cs / 1305600 / GridViewColumnHeaderAutomationPeer.cs
using System; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Security; using System.Text; using System.Windows; using System.Windows.Automation.Provider; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Interop; using System.Windows.Media; using MS.Internal; using MS.Win32; namespace System.Windows.Automation.Peers { /// public class GridViewColumnHeaderAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider, ITransformProvider { /// public GridViewColumnHeaderAutomationPeer(GridViewColumnHeader owner) : base(owner) { } /// override protected AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.HeaderItem; } /// override protected string GetClassNameCore() { return "GridViewColumnHeader"; } /// override public object GetPattern(PatternInterface patternInterface) { if (patternInterface == PatternInterface.Invoke || patternInterface == PatternInterface.Transform) { return this; } else { return base.GetPattern(patternInterface); } } void IInvokeProvider.Invoke() { if (!IsEnabled()) throw new ElementNotEnabledException(); GridViewColumnHeader owner = (GridViewColumnHeader)Owner; owner.AutomationClick(); } #region ITransformProvider bool ITransformProvider.CanMove { get { return false; } } //Note: CanResize can be false if Max/MinWidth,Height has been added on GridViewColumn/ColumnHeader bool ITransformProvider.CanResize { get { return true; } } bool ITransformProvider.CanRotate { get { return false; } } //Note: Don't support Move so far, if users do need this feature to reorder columns, //we can consider to add it later. (One concern is GVCH doesn't support reorder by moving itself) void ITransformProvider.Move(double x, double y) { throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } void ITransformProvider.Resize(double width, double height) { if (!IsEnabled()) throw new ElementNotEnabledException(); if (width < 0) { throw new ArgumentOutOfRangeException("width"); } if (height < 0) { throw new ArgumentOutOfRangeException("height"); } GridViewColumnHeader header = Owner as GridViewColumnHeader; if (header != null) { if (header.Column != null) { header.Column.Width = width; } header.Height = height; } } void ITransformProvider.Rotate(double degrees) { throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Security; using System.Text; using System.Windows; using System.Windows.Automation.Provider; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Interop; using System.Windows.Media; using MS.Internal; using MS.Win32; namespace System.Windows.Automation.Peers { /// public class GridViewColumnHeaderAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider, ITransformProvider { /// public GridViewColumnHeaderAutomationPeer(GridViewColumnHeader owner) : base(owner) { } /// override protected AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.HeaderItem; } /// override protected string GetClassNameCore() { return "GridViewColumnHeader"; } /// override public object GetPattern(PatternInterface patternInterface) { if (patternInterface == PatternInterface.Invoke || patternInterface == PatternInterface.Transform) { return this; } else { return base.GetPattern(patternInterface); } } void IInvokeProvider.Invoke() { if (!IsEnabled()) throw new ElementNotEnabledException(); GridViewColumnHeader owner = (GridViewColumnHeader)Owner; owner.AutomationClick(); } #region ITransformProvider bool ITransformProvider.CanMove { get { return false; } } //Note: CanResize can be false if Max/MinWidth,Height has been added on GridViewColumn/ColumnHeader bool ITransformProvider.CanResize { get { return true; } } bool ITransformProvider.CanRotate { get { return false; } } //Note: Don't support Move so far, if users do need this feature to reorder columns, //we can consider to add it later. (One concern is GVCH doesn't support reorder by moving itself) void ITransformProvider.Move(double x, double y) { throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } void ITransformProvider.Resize(double width, double height) { if (!IsEnabled()) throw new ElementNotEnabledException(); if (width < 0) { throw new ArgumentOutOfRangeException("width"); } if (height < 0) { throw new ArgumentOutOfRangeException("height"); } GridViewColumnHeader header = Owner as GridViewColumnHeader; if (header != null) { if (header.Column != null) { header.Column.Width = width; } header.Height = height; } } void ITransformProvider.Rotate(double degrees) { throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } #endregion } } // 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
- CodeTypeReferenceExpression.cs
- ExpressionVisitorHelpers.cs
- SystemUdpStatistics.cs
- TabPage.cs
- VirtualPathUtility.cs
- DoWorkEventArgs.cs
- ValueTypeIndexerReference.cs
- Automation.cs
- XmlByteStreamReader.cs
- DefaultIfEmptyQueryOperator.cs
- Int32Rect.cs
- GroupQuery.cs
- PointLight.cs
- _LoggingObject.cs
- dbdatarecord.cs
- MetadataCacheItem.cs
- BCLDebug.cs
- HashRepartitionStream.cs
- ColumnProvider.cs
- PointConverter.cs
- LocalizableResourceBuilder.cs
- DetailsViewRowCollection.cs
- NativeObjectSecurity.cs
- TypeConverterHelper.cs
- Utils.cs
- XmlFormatExtensionAttribute.cs
- XmlTextEncoder.cs
- ScriptManagerProxy.cs
- WriteableOnDemandPackagePart.cs
- SpStreamWrapper.cs
- RepeaterItemCollection.cs
- ClassGenerator.cs
- webclient.cs
- IgnorePropertiesAttribute.cs
- Single.cs
- ColorConvertedBitmap.cs
- ExpressionEditorSheet.cs
- DataMemberFieldEditor.cs
- CharAnimationUsingKeyFrames.cs
- ControlUtil.cs
- SystemResourceKey.cs
- FrameworkContextData.cs
- BaseProcessProtocolHandler.cs
- UIElement.cs
- TextBlockAutomationPeer.cs
- WorkflowRuntimeEndpoint.cs
- ASCIIEncoding.cs
- ContractSearchPattern.cs
- DataReaderContainer.cs
- XmlHierarchicalEnumerable.cs
- InertiaExpansionBehavior.cs
- AuthorizationRuleCollection.cs
- Gdiplus.cs
- BindingExpressionUncommonField.cs
- DecimalConverter.cs
- Help.cs
- TraceContextRecord.cs
- InputManager.cs
- LinearGradientBrush.cs
- RepeaterItemEventArgs.cs
- EFColumnProvider.cs
- DataSetUtil.cs
- FrameworkEventSource.cs
- TdsEnums.cs
- HierarchicalDataTemplate.cs
- SpellerStatusTable.cs
- ProfileSection.cs
- InkCanvasFeedbackAdorner.cs
- DataGridLinkButton.cs
- InstanceDataCollectionCollection.cs
- XmlSchemaInclude.cs
- Token.cs
- AuthenticationModulesSection.cs
- PersonalizationState.cs
- WorkflowInstance.cs
- InstanceDataCollection.cs
- SqlUDTStorage.cs
- sqlcontext.cs
- EnumMemberAttribute.cs
- KerberosReceiverSecurityToken.cs
- BlurBitmapEffect.cs
- RootAction.cs
- Grid.cs
- SAPICategories.cs
- ReferentialConstraint.cs
- InkCanvasAutomationPeer.cs
- SessionState.cs
- GraphicsState.cs
- baseaxisquery.cs
- ProcessModelSection.cs
- ServiceReference.cs
- DateTimeOffsetConverter.cs
- PermissionAttributes.cs
- AuthorizationPolicyTypeElement.cs
- TextDocumentView.cs
- XmlSchemaComplexContent.cs
- PrtCap_Base.cs
- WindowsNonControl.cs
- TraceFilter.cs
- HierarchicalDataBoundControl.cs