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
- ProxyWebPart.cs
- ToolboxComponentsCreatingEventArgs.cs
- CharConverter.cs
- IssuedTokenClientBehaviorsElementCollection.cs
- WebCategoryAttribute.cs
- IssuedTokenClientCredential.cs
- UIElementParagraph.cs
- WebControlsSection.cs
- MatrixAnimationUsingPath.cs
- PasswordTextContainer.cs
- XmlHierarchicalDataSourceView.cs
- ConfigXmlCDataSection.cs
- ClientSponsor.cs
- AnimatedTypeHelpers.cs
- SiteMapDataSource.cs
- ToolboxControl.cs
- DataColumnMappingCollection.cs
- ObjectDataSourceFilteringEventArgs.cs
- TypeGeneratedEventArgs.cs
- CodeCastExpression.cs
- ConversionContext.cs
- InternalSafeNativeMethods.cs
- Matrix.cs
- DomNameTable.cs
- SecurityState.cs
- Console.cs
- SynchronizedInputHelper.cs
- IriParsingElement.cs
- Partitioner.cs
- RawStylusInput.cs
- WindowsPrincipal.cs
- Stack.cs
- Binding.cs
- DaylightTime.cs
- RecognizedWordUnit.cs
- Vector.cs
- DataGridViewTopRowAccessibleObject.cs
- ImageInfo.cs
- Variant.cs
- BooleanConverter.cs
- ListSortDescription.cs
- EntityTransaction.cs
- CodeSubDirectory.cs
- ReturnEventArgs.cs
- DesignerFrame.cs
- TemplateGroupCollection.cs
- StringValidatorAttribute.cs
- CustomWebEventKey.cs
- HtmlInputRadioButton.cs
- CodeValidator.cs
- WebPartEventArgs.cs
- RouteValueExpressionBuilder.cs
- JsonReaderWriterFactory.cs
- WsdlBuildProvider.cs
- DataServiceProviderWrapper.cs
- SizeConverter.cs
- _CacheStreams.cs
- NamedObject.cs
- DefinitionUpdate.cs
- SiteMapDataSourceView.cs
- BrowserTree.cs
- EventMap.cs
- AttributeUsageAttribute.cs
- Win32PrintDialog.cs
- HyperLinkStyle.cs
- ProtocolsConfigurationEntry.cs
- HandlerMappingMemo.cs
- securitycriticaldataformultiplegetandset.cs
- XmlDesigner.cs
- XmlSchemaValidator.cs
- XmlSchemaSimpleType.cs
- EnumerableRowCollectionExtensions.cs
- AnnouncementEndpointElement.cs
- SafeEventLogWriteHandle.cs
- TableRow.cs
- FileUtil.cs
- DebugTrace.cs
- DataGridViewRowsAddedEventArgs.cs
- ToolStripDropDown.cs
- WebPartTransformerAttribute.cs
- MergePropertyDescriptor.cs
- Timeline.cs
- LocalizableAttribute.cs
- UnsafeNativeMethodsTablet.cs
- ContextMenuStripActionList.cs
- ListBase.cs
- EventWaitHandle.cs
- StringConcat.cs
- ValuePatternIdentifiers.cs
- SoapAttributeAttribute.cs
- EpmHelper.cs
- BrowsableAttribute.cs
- basecomparevalidator.cs
- Publisher.cs
- SingleObjectCollection.cs
- Ref.cs
- ParallelTimeline.cs
- nulltextnavigator.cs
- EventHandlerList.cs
- NetworkStream.cs