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
- BaseCodePageEncoding.cs
- WebEventCodes.cs
- UrlMappingCollection.cs
- ExecutionContext.cs
- ImageList.cs
- XmlChildEnumerator.cs
- UrlAuthFailedErrorFormatter.cs
- DispatcherSynchronizationContext.cs
- ContextDataSource.cs
- Imaging.cs
- MimeMultiPart.cs
- ConfigXmlReader.cs
- KeyInfo.cs
- PairComparer.cs
- SecurityUniqueId.cs
- BitmapCacheBrush.cs
- StoreAnnotationsMap.cs
- DataTableMapping.cs
- PersistenceMetadataNamespace.cs
- XPathNavigatorKeyComparer.cs
- HtmlWindow.cs
- CompositeDispatchFormatter.cs
- FormViewInsertEventArgs.cs
- GridItemPattern.cs
- SizeF.cs
- querybuilder.cs
- HttpModulesSection.cs
- GridViewDeleteEventArgs.cs
- DrawingContextWalker.cs
- HTMLTextWriter.cs
- TableCellCollection.cs
- WS2007HttpBindingElement.cs
- OleDbReferenceCollection.cs
- TextParagraphCache.cs
- LinqDataSourceStatusEventArgs.cs
- ClassicBorderDecorator.cs
- DependencyObjectType.cs
- TextRunTypographyProperties.cs
- StylusPointDescription.cs
- XpsResourceDictionary.cs
- RuntimeCompatibilityAttribute.cs
- Decimal.cs
- DesignerActionVerbList.cs
- MaskedTextBox.cs
- PopupRootAutomationPeer.cs
- ChoiceConverter.cs
- StylusPointCollection.cs
- GuidConverter.cs
- SequenceDesigner.cs
- regiisutil.cs
- SpeakProgressEventArgs.cs
- DiscoveryClientReferences.cs
- CommandEventArgs.cs
- DispatcherTimer.cs
- ImageMapEventArgs.cs
- Matrix.cs
- RemoteWebConfigurationHostServer.cs
- BlurBitmapEffect.cs
- DynamicPropertyReader.cs
- UnsafeNativeMethods.cs
- PathTooLongException.cs
- Int64KeyFrameCollection.cs
- TouchesCapturedWithinProperty.cs
- FacetValueContainer.cs
- ConfigurationPropertyCollection.cs
- InstanceCreationEditor.cs
- CallId.cs
- BitmapInitialize.cs
- EntitySetRetriever.cs
- SpecialFolderEnumConverter.cs
- Binding.cs
- MasterPage.cs
- ImplicitInputBrush.cs
- TextDocumentView.cs
- WindowsSpinner.cs
- IItemContainerGenerator.cs
- DelegatedStream.cs
- ContextStaticAttribute.cs
- QueryCacheManager.cs
- _AcceptOverlappedAsyncResult.cs
- WorkflowClientDeliverMessageWrapper.cs
- ResXResourceReader.cs
- RequestCacheValidator.cs
- TextLine.cs
- QuotedPrintableStream.cs
- listitem.cs
- WinEventQueueItem.cs
- CompilerParameters.cs
- PromptBuilder.cs
- CacheMemory.cs
- View.cs
- XsdDuration.cs
- DefaultPropertiesToSend.cs
- CultureMapper.cs
- XmlUtilWriter.cs
- ImageMapEventArgs.cs
- WaitHandle.cs
- Operator.cs
- ImageMetadata.cs
- BaseDataListActionList.cs