Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Automation / Peers / GridViewColumnHeaderAutomationPeer.cs / 1 / 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;
return null;
}
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;
return null;
}
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
- PageCodeDomTreeGenerator.cs
- ISAPIWorkerRequest.cs
- GraphicsPathIterator.cs
- TrackBarRenderer.cs
- XNameTypeConverter.cs
- AssemblyCollection.cs
- SqlDesignerDataSourceView.cs
- MoveSizeWinEventHandler.cs
- EmulateRecognizeCompletedEventArgs.cs
- AnnotationComponentChooser.cs
- ImageInfo.cs
- ToolboxDataAttribute.cs
- BindingUtils.cs
- JsonQNameDataContract.cs
- CodeTypeDelegate.cs
- SimpleApplicationHost.cs
- ChildTable.cs
- Error.cs
- autovalidator.cs
- DockProviderWrapper.cs
- SerializableAttribute.cs
- XmlAttributeOverrides.cs
- HttpRuntime.cs
- HandlerFactoryWrapper.cs
- FixedSOMLineCollection.cs
- iisPickupDirectory.cs
- SmiEventSink_Default.cs
- GridLengthConverter.cs
- TableCell.cs
- AstNode.cs
- HtmlContainerControl.cs
- ResourceDictionaryCollection.cs
- CultureMapper.cs
- IResourceProvider.cs
- _Semaphore.cs
- DataGrid.cs
- FormViewPagerRow.cs
- ServiceObjectContainer.cs
- HashHelpers.cs
- DataGridViewCellStateChangedEventArgs.cs
- FixedSOMPageConstructor.cs
- TextEditorParagraphs.cs
- EventRoute.cs
- Attribute.cs
- FileEnumerator.cs
- AsyncResult.cs
- oledbconnectionstring.cs
- EmptyControlCollection.cs
- LineGeometry.cs
- DigestComparer.cs
- TypefaceMetricsCache.cs
- Function.cs
- TextDecorations.cs
- Stack.cs
- COM2IDispatchConverter.cs
- SplitterPanel.cs
- hresults.cs
- BaseTreeIterator.cs
- SoapHeaders.cs
- FileAuthorizationModule.cs
- SecurityRequiresReviewAttribute.cs
- AsymmetricCryptoHandle.cs
- DateTimeConstantAttribute.cs
- DiffuseMaterial.cs
- XPathException.cs
- RecognizedPhrase.cs
- SafeUserTokenHandle.cs
- StructuredType.cs
- QualificationDataAttribute.cs
- UTF7Encoding.cs
- XmlSchemaAttribute.cs
- RoutedPropertyChangedEventArgs.cs
- BufferAllocator.cs
- GridLengthConverter.cs
- ToolStripContentPanel.cs
- altserialization.cs
- ObjectDataSourceMethodEditor.cs
- ScriptManager.cs
- EventMappingSettings.cs
- Model3D.cs
- SafeRightsManagementPubHandle.cs
- Literal.cs
- _UncName.cs
- SoapEnumAttribute.cs
- InternalsVisibleToAttribute.cs
- DllNotFoundException.cs
- _SslStream.cs
- EventRecordWrittenEventArgs.cs
- WrapperSecurityCommunicationObject.cs
- TextParagraph.cs
- DateTimeHelper.cs
- ScalarType.cs
- ColorAnimationUsingKeyFrames.cs
- KeyInterop.cs
- SafeLibraryHandle.cs
- RecordManager.cs
- BoundPropertyEntry.cs
- MasterPageCodeDomTreeGenerator.cs
- FileDialogPermission.cs
- CollectionViewGroup.cs