Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / DataGridColumnHeaderItemAutomationPeer.cs / 1305600 / DataGridColumnHeaderItemAutomationPeer.cs
using System; using System.Collections.Generic; using System.ComponentModel; using System.Windows; using System.Windows.Automation; using System.Windows.Automation.Provider; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Data; namespace System.Windows.Automation.Peers { ////// Automation Peer for DataGridHeader /// public class DataGridColumnHeaderItemAutomationPeer : ItemAutomationPeer, IInvokeProvider, IScrollItemProvider, ITransformProvider, IVirtualizedItemProvider { public DataGridColumnHeaderItemAutomationPeer(object item, DataGridColumn column, DataGridColumnHeadersPresenterAutomationPeer peer) :base(item, peer) { _column = column; } #region AutomationPeer Overrides ////// Gets the control type for the element that is associated with the UI Automation peer. /// ///The control type. protected override AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.HeaderItem; } ////// Called by GetClassName that gets a human readable name that, in addition to AutomationControlType, /// differentiates the control represented by this AutomationPeer. /// ///The string that contains the name. protected override string GetClassNameCore() { AutomationPeer wrapperPeer = GetWrapperPeer(); if (wrapperPeer != null) { return wrapperPeer.GetClassName(); } else { ThrowElementNotAvailableException(); } return String.Empty; } ////// Gets the control pattern that is associated with the specified System.Windows.Automation.Peers.PatternInterface. /// /// A value from the System.Windows.Automation.Peers.PatternInterface enumeration. ///The object that supports the specified pattern, or null if unsupported. public override object GetPattern(PatternInterface patternInterface) { switch (patternInterface) { case PatternInterface.Invoke: { if (Column != null && Column.CanUserSort) { return this; } break; } case PatternInterface.ScrollItem: { if (Column != null) { return this; } break; } case PatternInterface.Transform: { if (Column != null && Column.CanUserResize) { return this; } break; } case PatternInterface.VirtualizedItem: { if (Column != null) { return this; } break; } } return null; } ////// Gets a value that specifies whether the element is a content element. /// ///true if the element is a content element; otherwise false protected override bool IsContentElementCore() { return false; } #endregion #region IInvokeProvider void IInvokeProvider.Invoke() { UIElementAutomationPeer wrapperPeer = GetWrapperPeer() as UIElementAutomationPeer; if (wrapperPeer != null) { ((DataGridColumnHeader)wrapperPeer.Owner).Invoke(); } else ThrowElementNotAvailableException(); } #endregion #region IScrollItemProvider void IScrollItemProvider.ScrollIntoView() { if (Column != null && this.OwningDataGrid != null) { this.OwningDataGrid.ScrollIntoView(null, Column); } } #endregion #region ITransformProvider bool ITransformProvider.CanMove { get { return false; } } bool ITransformProvider.CanResize { get { if (this.Column != null) return Column.CanUserResize; return false; } } bool ITransformProvider.CanRotate { get { return false; } } void ITransformProvider.Move(double x, double y) { throw new InvalidOperationException(SR.Get(SRID.DataGridColumnHeaderItemAutomationPeer_Unsupported)); } void ITransformProvider.Resize(double width, double height) { if (this.OwningDataGrid != null && Column.CanUserResize) { Column.Width = new DataGridLength(width); } else { throw new InvalidOperationException(SR.Get(SRID.DataGridColumnHeaderItemAutomationPeer_Unresizable)); } } void ITransformProvider.Rotate(double degrees) { throw new InvalidOperationException(SR.Get(SRID.DataGridColumnHeaderItemAutomationPeer_Unsupported)); } #endregion #region IVirtualizedItemProvider void IVirtualizedItemProvider.Realize() { if (this.OwningDataGrid != null) OwningDataGrid.ScrollIntoView(null,Column); } #endregion #region Properties internal override bool AncestorsInvalid { get { return base.AncestorsInvalid; } set { base.AncestorsInvalid = value; if (value) return; AutomationPeer wrapperPeer = OwningColumnHeaderPeer; if (wrapperPeer != null) { wrapperPeer.AncestorsInvalid = false; } } } internal DataGridColumnHeader OwningHeader { get { return GetWrapper() as DataGridColumnHeader; } } internal DataGrid OwningDataGrid { get { return Column.DataGridOwner; } } internal DataGridColumn Column { get { return _column; } } internal DataGridColumnHeaderAutomationPeer OwningColumnHeaderPeer { get { return GetWrapperPeer() as DataGridColumnHeaderAutomationPeer; } } #endregion #region Private Variables DataGridColumn _column; #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections.Generic; using System.ComponentModel; using System.Windows; using System.Windows.Automation; using System.Windows.Automation.Provider; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Data; namespace System.Windows.Automation.Peers { ////// Automation Peer for DataGridHeader /// public class DataGridColumnHeaderItemAutomationPeer : ItemAutomationPeer, IInvokeProvider, IScrollItemProvider, ITransformProvider, IVirtualizedItemProvider { public DataGridColumnHeaderItemAutomationPeer(object item, DataGridColumn column, DataGridColumnHeadersPresenterAutomationPeer peer) :base(item, peer) { _column = column; } #region AutomationPeer Overrides ////// Gets the control type for the element that is associated with the UI Automation peer. /// ///The control type. protected override AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.HeaderItem; } ////// Called by GetClassName that gets a human readable name that, in addition to AutomationControlType, /// differentiates the control represented by this AutomationPeer. /// ///The string that contains the name. protected override string GetClassNameCore() { AutomationPeer wrapperPeer = GetWrapperPeer(); if (wrapperPeer != null) { return wrapperPeer.GetClassName(); } else { ThrowElementNotAvailableException(); } return String.Empty; } ////// Gets the control pattern that is associated with the specified System.Windows.Automation.Peers.PatternInterface. /// /// A value from the System.Windows.Automation.Peers.PatternInterface enumeration. ///The object that supports the specified pattern, or null if unsupported. public override object GetPattern(PatternInterface patternInterface) { switch (patternInterface) { case PatternInterface.Invoke: { if (Column != null && Column.CanUserSort) { return this; } break; } case PatternInterface.ScrollItem: { if (Column != null) { return this; } break; } case PatternInterface.Transform: { if (Column != null && Column.CanUserResize) { return this; } break; } case PatternInterface.VirtualizedItem: { if (Column != null) { return this; } break; } } return null; } ////// Gets a value that specifies whether the element is a content element. /// ///true if the element is a content element; otherwise false protected override bool IsContentElementCore() { return false; } #endregion #region IInvokeProvider void IInvokeProvider.Invoke() { UIElementAutomationPeer wrapperPeer = GetWrapperPeer() as UIElementAutomationPeer; if (wrapperPeer != null) { ((DataGridColumnHeader)wrapperPeer.Owner).Invoke(); } else ThrowElementNotAvailableException(); } #endregion #region IScrollItemProvider void IScrollItemProvider.ScrollIntoView() { if (Column != null && this.OwningDataGrid != null) { this.OwningDataGrid.ScrollIntoView(null, Column); } } #endregion #region ITransformProvider bool ITransformProvider.CanMove { get { return false; } } bool ITransformProvider.CanResize { get { if (this.Column != null) return Column.CanUserResize; return false; } } bool ITransformProvider.CanRotate { get { return false; } } void ITransformProvider.Move(double x, double y) { throw new InvalidOperationException(SR.Get(SRID.DataGridColumnHeaderItemAutomationPeer_Unsupported)); } void ITransformProvider.Resize(double width, double height) { if (this.OwningDataGrid != null && Column.CanUserResize) { Column.Width = new DataGridLength(width); } else { throw new InvalidOperationException(SR.Get(SRID.DataGridColumnHeaderItemAutomationPeer_Unresizable)); } } void ITransformProvider.Rotate(double degrees) { throw new InvalidOperationException(SR.Get(SRID.DataGridColumnHeaderItemAutomationPeer_Unsupported)); } #endregion #region IVirtualizedItemProvider void IVirtualizedItemProvider.Realize() { if (this.OwningDataGrid != null) OwningDataGrid.ScrollIntoView(null,Column); } #endregion #region Properties internal override bool AncestorsInvalid { get { return base.AncestorsInvalid; } set { base.AncestorsInvalid = value; if (value) return; AutomationPeer wrapperPeer = OwningColumnHeaderPeer; if (wrapperPeer != null) { wrapperPeer.AncestorsInvalid = false; } } } internal DataGridColumnHeader OwningHeader { get { return GetWrapper() as DataGridColumnHeader; } } internal DataGrid OwningDataGrid { get { return Column.DataGridOwner; } } internal DataGridColumn Column { get { return _column; } } internal DataGridColumnHeaderAutomationPeer OwningColumnHeaderPeer { get { return GetWrapperPeer() as DataGridColumnHeaderAutomationPeer; } } #endregion #region Private Variables DataGridColumn _column; #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
- SoapReflectionImporter.cs
- Trustee.cs
- PreservationFileWriter.cs
- BaseUriHelper.cs
- ReachSerializationUtils.cs
- AccessDataSource.cs
- CheckBox.cs
- HMACMD5.cs
- Timeline.cs
- ObjectListItemCollection.cs
- FieldBuilder.cs
- TimeSpanFormat.cs
- IconHelper.cs
- DataRelationPropertyDescriptor.cs
- DispatcherFrame.cs
- EditBehavior.cs
- IntSecurity.cs
- ExpressionBindingCollection.cs
- CachedPathData.cs
- TokenBasedSet.cs
- AxHost.cs
- ScrollChrome.cs
- SapiRecoInterop.cs
- InputLanguage.cs
- BindingGraph.cs
- InputScope.cs
- ManualResetEvent.cs
- StringDictionary.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- TextControlDesigner.cs
- DataGridViewCellCollection.cs
- HttpHeaderCollection.cs
- XmlEncoding.cs
- TextServicesManager.cs
- CodeDomDesignerLoader.cs
- NamespaceCollection.cs
- EnterpriseServicesHelper.cs
- DSASignatureFormatter.cs
- EventMappingSettings.cs
- Stream.cs
- DataGridSortCommandEventArgs.cs
- ConstraintConverter.cs
- PolyQuadraticBezierSegment.cs
- Environment.cs
- __ComObject.cs
- ConnectionManagementSection.cs
- UrlMappingsModule.cs
- WebServiceMethodData.cs
- WebHttpBindingElement.cs
- XmlSignificantWhitespace.cs
- MemberDomainMap.cs
- IncrementalCompileAnalyzer.cs
- TemplatedMailWebEventProvider.cs
- UntrustedRecipientException.cs
- ArcSegment.cs
- SelectionGlyph.cs
- FlowDocumentPageViewerAutomationPeer.cs
- RepeatBehavior.cs
- ActivationServices.cs
- SqlResolver.cs
- BitArray.cs
- CalculatedColumn.cs
- ResolveCriteria11.cs
- CustomAttribute.cs
- COAUTHIDENTITY.cs
- AsyncOperation.cs
- UrlMapping.cs
- Transactions.cs
- FormParameter.cs
- Hex.cs
- SerialPort.cs
- TextDecorationLocationValidation.cs
- AgileSafeNativeMemoryHandle.cs
- StrokeDescriptor.cs
- X509CertificateCollection.cs
- Binding.cs
- MessageTransmitTraceRecord.cs
- MissingMethodException.cs
- SendSecurityHeader.cs
- ToolBarButtonClickEvent.cs
- PostBackOptions.cs
- TraceProvider.cs
- ActivityMarkupSerializationProvider.cs
- DropShadowBitmapEffect.cs
- sqlstateclientmanager.cs
- X509Chain.cs
- OptimalBreakSession.cs
- BoolExpressionVisitors.cs
- TextDecorations.cs
- SourceItem.cs
- securestring.cs
- EntityDataSourceStatementEditor.cs
- ZoomPercentageConverter.cs
- DelegatingConfigHost.cs
- DetailsViewInsertEventArgs.cs
- ImageBrush.cs
- XamlWriter.cs
- ClientRolePrincipal.cs
- GestureRecognitionResult.cs
- SeparatorAutomationPeer.cs