Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- PbrsForward.cs
- TypeUnloadedException.cs
- RichTextBoxConstants.cs
- HtmlInputHidden.cs
- CustomErrorsSectionWrapper.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- XmlQualifiedNameTest.cs
- GPPOINTF.cs
- SqlNotificationRequest.cs
- QueryTaskGroupState.cs
- Queue.cs
- Annotation.cs
- LambdaCompiler.Statements.cs
- _SSPIWrapper.cs
- InfoCardProofToken.cs
- TextPenaltyModule.cs
- BulletChrome.cs
- TreeNodeCollectionEditor.cs
- TypeNameParser.cs
- WebBrowserHelper.cs
- BinaryMessageEncodingElement.cs
- ClockController.cs
- ProxyWebPartConnectionCollection.cs
- XmlSequenceWriter.cs
- SaveFileDialog.cs
- QuaternionIndependentAnimationStorage.cs
- FormViewDeletedEventArgs.cs
- CacheModeValueSerializer.cs
- FormsAuthenticationUser.cs
- TagNameToTypeMapper.cs
- SourceFileInfo.cs
- DataRelation.cs
- PropertyValueChangedEvent.cs
- WebPartDisplayModeEventArgs.cs
- WindowsBrush.cs
- ConstNode.cs
- ForeignConstraint.cs
- XamlToRtfWriter.cs
- PasswordDeriveBytes.cs
- DBBindings.cs
- OleDbPropertySetGuid.cs
- Typeface.cs
- Soap.cs
- TextFragmentEngine.cs
- Msec.cs
- SQLResource.cs
- PageTextBox.cs
- PersonalizationProviderCollection.cs
- ObjectStateFormatter.cs
- SimpleHandlerBuildProvider.cs
- PointAnimationBase.cs
- CapabilitiesAssignment.cs
- TreeView.cs
- TabControl.cs
- LocalizableAttribute.cs
- HtmlInputSubmit.cs
- SqlDataSourceQueryConverter.cs
- OdbcFactory.cs
- RbTree.cs
- Int64Animation.cs
- BackStopAuthenticationModule.cs
- XmlCharType.cs
- TdsValueSetter.cs
- InfoCardServiceInstallComponent.cs
- CopyCodeAction.cs
- Block.cs
- XmlByteStreamReader.cs
- ObjectView.cs
- Int64Storage.cs
- DataViewManager.cs
- WindowsStartMenu.cs
- StackOverflowException.cs
- KeyEventArgs.cs
- HwndSource.cs
- TemplateAction.cs
- TemplatedWizardStep.cs
- SoapSchemaImporter.cs
- Point3DAnimation.cs
- TransformerConfigurationWizardBase.cs
- COM2EnumConverter.cs
- UxThemeWrapper.cs
- TemplateField.cs
- ApplicationProxyInternal.cs
- path.cs
- RelationshipEndCollection.cs
- TextServicesContext.cs
- DbReferenceCollection.cs
- TypeFieldSchema.cs
- SynchronizationLockException.cs
- EdmScalarPropertyAttribute.cs
- XmlLanguageConverter.cs
- AttributeUsageAttribute.cs
- JsonFormatGeneratorStatics.cs
- TextViewElement.cs
- Behavior.cs
- DocComment.cs
- InstanceLockQueryResult.cs
- EventProxy.cs
- DataPagerFieldItem.cs
- MonitorWrapper.cs