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
- AdvancedBindingEditor.cs
- ObjectDataSourceView.cs
- PositiveTimeSpanValidator.cs
- CompositionAdorner.cs
- HitTestResult.cs
- IndentedWriter.cs
- GridItemPattern.cs
- TextElementCollection.cs
- ExpressionBuilderContext.cs
- DefaultWorkflowTransactionService.cs
- XmlSerializationWriter.cs
- SocketPermission.cs
- ToolStripMenuItemCodeDomSerializer.cs
- ProcessModelInfo.cs
- MsmqOutputMessage.cs
- XsdCachingReader.cs
- StrongNameUtility.cs
- OneOfConst.cs
- TextEditorContextMenu.cs
- ExtractorMetadata.cs
- ValidatingPropertiesEventArgs.cs
- QilGenerator.cs
- SchemaDeclBase.cs
- PrintDialog.cs
- TextEditorCopyPaste.cs
- hresults.cs
- QuaternionKeyFrameCollection.cs
- WebConfigurationHost.cs
- If.cs
- HttpRequestWrapper.cs
- Stylus.cs
- pingexception.cs
- HelpEvent.cs
- HandlerMappingMemo.cs
- AuthorizationRuleCollection.cs
- XmlSchemaParticle.cs
- SqlDataSourceParameterParser.cs
- PropertyRef.cs
- PropertyTabChangedEvent.cs
- OdbcTransaction.cs
- SingleConverter.cs
- SiteMapNodeItem.cs
- X509Certificate.cs
- BindToObject.cs
- HandlerFactoryWrapper.cs
- FormViewInsertedEventArgs.cs
- EnumerableRowCollection.cs
- CodeLabeledStatement.cs
- StyleXamlTreeBuilder.cs
- Int32RectConverter.cs
- BitmapEncoder.cs
- MultipleViewPattern.cs
- XmlConvert.cs
- QuestionEventArgs.cs
- LogPolicy.cs
- ValidateNames.cs
- Bidi.cs
- SqlMethodCallConverter.cs
- URLString.cs
- ManipulationInertiaStartingEventArgs.cs
- TreeSet.cs
- HeaderUtility.cs
- PseudoWebRequest.cs
- XmlSchemaSearchPattern.cs
- EntryIndex.cs
- Registry.cs
- MarkupWriter.cs
- ProcessModuleCollection.cs
- ToolStripDropDownItem.cs
- DataServiceOperationContext.cs
- DataFormats.cs
- XmlSchemaNotation.cs
- WebPartZoneCollection.cs
- WebPartCatalogCloseVerb.cs
- RegionData.cs
- ScrollChrome.cs
- BamlTreeNode.cs
- HijriCalendar.cs
- HostingEnvironmentException.cs
- ItemList.cs
- DataGridCellClipboardEventArgs.cs
- DataRecord.cs
- BamlTreeMap.cs
- AccessDataSource.cs
- GeneralTransform2DTo3D.cs
- CodeMethodReturnStatement.cs
- SelectionListComponentEditor.cs
- SelectionPattern.cs
- DataBoundControlHelper.cs
- PreDigestedSignedInfo.cs
- UrlAuthorizationModule.cs
- SQLBinary.cs
- LazyTextWriterCreator.cs
- OleDbRowUpdatedEvent.cs
- CTreeGenerator.cs
- CopyNodeSetAction.cs
- XhtmlBasicFormAdapter.cs
- TemplatedWizardStep.cs
- OrderedDictionary.cs
- InstanceCreationEditor.cs