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
- EditingScope.cs
- DesignerVerb.cs
- EntityDescriptor.cs
- NavigateUrlConverter.cs
- ProtocolInformationReader.cs
- FileLoadException.cs
- HtmlInputPassword.cs
- CharAnimationBase.cs
- Int16AnimationBase.cs
- ServiceHostFactory.cs
- XmlIgnoreAttribute.cs
- ConnectionStringSettingsCollection.cs
- CodeSubDirectory.cs
- Metadata.cs
- DigitalSignatureProvider.cs
- Win32KeyboardDevice.cs
- MetadataPropertyAttribute.cs
- _ShellExpression.cs
- LoginUtil.cs
- WebConfigurationFileMap.cs
- HttpCapabilitiesSectionHandler.cs
- PropertyValue.cs
- ClassicBorderDecorator.cs
- PackWebRequestFactory.cs
- TextTreeUndoUnit.cs
- TextElementAutomationPeer.cs
- Policy.cs
- ToolStripItemClickedEventArgs.cs
- GlobalizationAssembly.cs
- Rfc4050KeyFormatter.cs
- Activator.cs
- CodeAssignStatement.cs
- InputScopeConverter.cs
- BatchWriter.cs
- TypeContext.cs
- Gdiplus.cs
- SafeWaitHandle.cs
- InvalidPipelineStoreException.cs
- Table.cs
- DataGridViewCellStyle.cs
- TraceContextRecord.cs
- WbmpConverter.cs
- DbBuffer.cs
- XmlReaderSettings.cs
- InputReport.cs
- RawContentTypeMapper.cs
- ContextStack.cs
- mediaclock.cs
- DescendantBaseQuery.cs
- DictionaryContent.cs
- PropertySourceInfo.cs
- MenuItemCollectionEditor.cs
- ImageButton.cs
- ResourceSetExpression.cs
- ListManagerBindingsCollection.cs
- WebHttpBindingCollectionElement.cs
- TransportConfigurationTypeElementCollection.cs
- CollectionBase.cs
- NonBatchDirectoryCompiler.cs
- ItemsChangedEventArgs.cs
- ErrorCodes.cs
- WebServiceMethodData.cs
- ServicePointManagerElement.cs
- OdbcErrorCollection.cs
- ErrorFormatterPage.cs
- XmlArrayItemAttribute.cs
- CommandConverter.cs
- QueryContinueDragEvent.cs
- EntityDataSourceWrapperCollection.cs
- InputScopeManager.cs
- WebReference.cs
- TypeName.cs
- BamlTreeNode.cs
- XpsSerializationManager.cs
- DesignerVerb.cs
- DataSourceView.cs
- CallSiteBinder.cs
- TextSegment.cs
- UserPersonalizationStateInfo.cs
- TextElementEnumerator.cs
- NumberSubstitution.cs
- StreamingContext.cs
- SqlGatherProducedAliases.cs
- SchemaCompiler.cs
- TransformPatternIdentifiers.cs
- TreeNodeStyleCollection.cs
- TextContainerHelper.cs
- ListViewHitTestInfo.cs
- RuntimeCompatibilityAttribute.cs
- BamlRecordHelper.cs
- DataGridPageChangedEventArgs.cs
- SerialReceived.cs
- HTTPNotFoundHandler.cs
- DynamicScriptObject.cs
- MimeBasePart.cs
- ChameleonKey.cs
- AttributeCollection.cs
- ScopelessEnumAttribute.cs
- SecurityPolicySection.cs
- TypeBuilderInstantiation.cs