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
- ScrollBar.cs
- HttpConfigurationContext.cs
- ReverseInheritProperty.cs
- NetCodeGroup.cs
- CodeNamespaceImport.cs
- ProtectedProviderSettings.cs
- CallbackException.cs
- TextRangeEdit.cs
- TextViewSelectionProcessor.cs
- IndentedWriter.cs
- XmlSchemaInferenceException.cs
- Nodes.cs
- SimpleBitVector32.cs
- InputProcessorProfilesLoader.cs
- XmlSchemaAttribute.cs
- GridView.cs
- EventProviderWriter.cs
- FixedDSBuilder.cs
- DbProviderFactoriesConfigurationHandler.cs
- DictionaryEntry.cs
- PartialCachingAttribute.cs
- X509LogoTypeExtension.cs
- CancelEventArgs.cs
- DataGridViewRowEventArgs.cs
- ColorTransform.cs
- HttpCapabilitiesBase.cs
- AQNBuilder.cs
- MimeMapping.cs
- FloaterBaseParaClient.cs
- ErrorTableItemStyle.cs
- RightsManagementPermission.cs
- ConfigurationSectionHelper.cs
- ObjectConverter.cs
- StylusCollection.cs
- FieldTemplateUserControl.cs
- QueryCoreOp.cs
- _LazyAsyncResult.cs
- MessageQueueConverter.cs
- LazyTextWriterCreator.cs
- PrePrepareMethodAttribute.cs
- DeferredElementTreeState.cs
- ListBoxDesigner.cs
- RenderCapability.cs
- SqlVersion.cs
- MulticastIPAddressInformationCollection.cs
- Gdiplus.cs
- SqlClientWrapperSmiStream.cs
- ToolStripRenderEventArgs.cs
- XslTransform.cs
- MembershipValidatePasswordEventArgs.cs
- SecurityChannelListener.cs
- SoapTypeAttribute.cs
- GlobalProxySelection.cs
- RemotingServices.cs
- PropertyMappingExceptionEventArgs.cs
- _UncName.cs
- PasswordPropertyTextAttribute.cs
- ASCIIEncoding.cs
- ObjectListItem.cs
- RoleGroupCollection.cs
- SortedList.cs
- NullableConverter.cs
- IChannel.cs
- MembershipPasswordException.cs
- ListViewItemEventArgs.cs
- APCustomTypeDescriptor.cs
- HtmlInputText.cs
- UrlAuthFailedErrorFormatter.cs
- EventlogProvider.cs
- SmiTypedGetterSetter.cs
- WpfMemberInvoker.cs
- KnownAssemblyEntry.cs
- ThreadInterruptedException.cs
- EqualityComparer.cs
- EpmContentSerializerBase.cs
- DesignerAutoFormatStyle.cs
- MetadataItemSerializer.cs
- SelectionRange.cs
- SecondaryIndexDefinition.cs
- BaseCollection.cs
- IListConverters.cs
- ConnectionPoolManager.cs
- PageThemeParser.cs
- DbRetry.cs
- XmlCountingReader.cs
- DocumentApplication.cs
- HttpServerUtilityWrapper.cs
- MenuStrip.cs
- ValidationErrorEventArgs.cs
- TabPanel.cs
- MemberRelationshipService.cs
- XmlSchemaParticle.cs
- InfocardClientCredentials.cs
- OpenFileDialog.cs
- XPathNodeInfoAtom.cs
- ThreadAbortException.cs
- PixelShader.cs
- TextRunCacheImp.cs
- UInt64Storage.cs
- TemplateControlCodeDomTreeGenerator.cs