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
- DummyDataSource.cs
- ReflectEventDescriptor.cs
- AuthenticationServiceManager.cs
- ResourcePermissionBaseEntry.cs
- GeneralTransformGroup.cs
- InstanceNormalEvent.cs
- CodeMemberEvent.cs
- ISAPIApplicationHost.cs
- FaultContractAttribute.cs
- PropertyHelper.cs
- HtmlString.cs
- translator.cs
- basemetadatamappingvisitor.cs
- GiveFeedbackEventArgs.cs
- CollectionConverter.cs
- LayoutManager.cs
- ExclusiveTcpListener.cs
- SystemIPGlobalProperties.cs
- NativeWindow.cs
- CultureInfoConverter.cs
- KeyGestureConverter.cs
- CompositeDispatchFormatter.cs
- SelectionGlyph.cs
- VisualProxy.cs
- ScriptingAuthenticationServiceSection.cs
- ComponentEditorPage.cs
- BaseTreeIterator.cs
- ProfilePropertyNameValidator.cs
- AdornedElementPlaceholder.cs
- UserControlCodeDomTreeGenerator.cs
- MatchingStyle.cs
- SqlBulkCopyColumnMapping.cs
- IdentityModelStringsVersion1.cs
- Compiler.cs
- SpellerHighlightLayer.cs
- SQLRoleProvider.cs
- GuidConverter.cs
- ISAPIWorkerRequest.cs
- SystemIPAddressInformation.cs
- ConditionalAttribute.cs
- AutoSizeComboBox.cs
- ToolStripItemEventArgs.cs
- SqlProvider.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- TableLayoutRowStyleCollection.cs
- DocumentsTrace.cs
- AgileSafeNativeMemoryHandle.cs
- PrimitiveSchema.cs
- TabControlToolboxItem.cs
- ServiceOperationHelpers.cs
- Popup.cs
- ProxyWebPartManagerDesigner.cs
- WorkflowFileItem.cs
- RadioButtonAutomationPeer.cs
- ScalarOps.cs
- ColumnCollection.cs
- EventRouteFactory.cs
- followingsibling.cs
- DynamicDataRoute.cs
- CacheMemory.cs
- DesignerSerializationVisibilityAttribute.cs
- FormsAuthentication.cs
- WindowsGraphics2.cs
- DiscoveryEndpointValidator.cs
- FontCollection.cs
- TraceContextEventArgs.cs
- DbParameterCollectionHelper.cs
- OracleSqlParser.cs
- XmlNodeReader.cs
- DataGridPagerStyle.cs
- RuntimeConfigurationRecord.cs
- SessionEndingEventArgs.cs
- RuleRef.cs
- EnterpriseServicesHelper.cs
- HtmlTableCellCollection.cs
- X509CertificateStore.cs
- SubpageParaClient.cs
- Rotation3DAnimation.cs
- DictionaryContent.cs
- InputScopeNameConverter.cs
- XamlUtilities.cs
- DBCSCodePageEncoding.cs
- XslException.cs
- XmlNavigatorFilter.cs
- SequentialOutput.cs
- wgx_render.cs
- XamlToRtfParser.cs
- Mutex.cs
- CollectionChange.cs
- ConditionCollection.cs
- StateChangeEvent.cs
- DataGridViewCellFormattingEventArgs.cs
- XamlTreeBuilderBamlRecordWriter.cs
- PostBackOptions.cs
- TemplateControlCodeDomTreeGenerator.cs
- DataGrid.cs
- EventPrivateKey.cs
- CheckBoxStandardAdapter.cs
- CacheOutputQuery.cs
- UrlAuthorizationModule.cs