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
- TouchesCapturedWithinProperty.cs
- InputScopeAttribute.cs
- StringHelper.cs
- webproxy.cs
- QuerySelectOp.cs
- ListenerSingletonConnectionReader.cs
- UnmanagedMemoryStream.cs
- ButtonColumn.cs
- ECDiffieHellmanPublicKey.cs
- ArrayTypeMismatchException.cs
- FormsAuthenticationModule.cs
- PointValueSerializer.cs
- Ref.cs
- AccessDataSource.cs
- Splitter.cs
- LayoutEngine.cs
- OpCopier.cs
- ITreeGenerator.cs
- BufferBuilder.cs
- KeySplineConverter.cs
- UserUseLicenseDictionaryLoader.cs
- AsyncDataRequest.cs
- UriTemplateMatch.cs
- Scanner.cs
- odbcmetadatafactory.cs
- FragmentQuery.cs
- StringFunctions.cs
- PropertyTab.cs
- SpAudioStreamWrapper.cs
- CatalogZone.cs
- ClientSponsor.cs
- NamespaceDecl.cs
- Page.cs
- formatter.cs
- RuleSettings.cs
- WindowsFormsSynchronizationContext.cs
- UInt64Storage.cs
- PeerTransportElement.cs
- QuotedPrintableStream.cs
- UrlAuthFailedErrorFormatter.cs
- ChannelBinding.cs
- FlowchartSizeFeature.cs
- WebBrowserNavigatedEventHandler.cs
- IUnknownConstantAttribute.cs
- Perspective.cs
- MULTI_QI.cs
- HeaderedContentControl.cs
- WindowsFont.cs
- TextureBrush.cs
- Number.cs
- InstalledVoice.cs
- TrackBar.cs
- AuthorizationRule.cs
- CustomLineCap.cs
- RequestTimeoutManager.cs
- EtwTrace.cs
- ToolTipService.cs
- MessageSecurityOverTcpElement.cs
- EntityDataSourceDataSelectionPanel.cs
- HttpResponseInternalWrapper.cs
- WebRequestModuleElement.cs
- _IPv6Address.cs
- TraceContextEventArgs.cs
- FilteredAttributeCollection.cs
- DecoderReplacementFallback.cs
- DynamicActivity.cs
- MappingMetadataHelper.cs
- SynchronizingStream.cs
- SortKey.cs
- TextEndOfSegment.cs
- Brush.cs
- DataSourceCache.cs
- DragCompletedEventArgs.cs
- TerminateDesigner.cs
- SubMenuStyleCollectionEditor.cs
- PropertyGridView.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- DirectoryObjectSecurity.cs
- LineServicesCallbacks.cs
- UnescapedXmlDiagnosticData.cs
- OracleCommand.cs
- FamilyTypeface.cs
- MsmqTransportSecurity.cs
- RequiredAttributeAttribute.cs
- ButtonPopupAdapter.cs
- WizardPanelChangingEventArgs.cs
- WebPartCatalogCloseVerb.cs
- TreeViewItemAutomationPeer.cs
- ping.cs
- counter.cs
- SqlRemoveConstantOrderBy.cs
- Environment.cs
- SchemaNames.cs
- ProtocolsConfiguration.cs
- NetTcpSecurity.cs
- Normalization.cs
- InfoCardAsymmetricCrypto.cs
- PermissionSetEnumerator.cs
- AnnotationHelper.cs
- XmlDataProvider.cs