Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / ListViewAutomationPeer.cs / 1305600 / ListViewAutomationPeer.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 ListViewAutomationPeer : ListBoxAutomationPeer
{
///
public ListViewAutomationPeer(ListView owner)
: base(owner)
{
Invariant.Assert(owner != null);
}
///
override protected AutomationControlType GetAutomationControlTypeCore()
{
if (_viewAutomationPeer != null)
{
return _viewAutomationPeer.GetAutomationControlType();
}
else
{
return base.GetAutomationControlTypeCore();
}
}
///
override protected string GetClassNameCore()
{
return "ListView";
}
///
override public object GetPattern(PatternInterface patternInterface)
{
object ret = null;
if (_viewAutomationPeer != null)
{
ret = _viewAutomationPeer.GetPattern(patternInterface);
if (ret != null)
{
return ret;
}
}
return base.GetPattern(patternInterface);
}
///
protected override List GetChildrenCore()
{
if (_refreshItemPeers)
{
_refreshItemPeers = false;
ItemPeers.Clear();
}
List ret = base.GetChildrenCore();
if (_viewAutomationPeer != null)
{
//If a custom view doesn't want to implement GetChildren details
//just return null, we'll use the base.GetChildren as the return value
ret = _viewAutomationPeer.GetChildren(ret);
}
return ret;
}
///
protected override ItemAutomationPeer CreateItemAutomationPeer(object item)
{
return _viewAutomationPeer == null ? base.CreateItemAutomationPeer(item) : _viewAutomationPeer.CreateItemAutomationPeer(item);
}
///
///
///
protected internal IViewAutomationPeer ViewAutomationPeer
{
// Note: see bug 1555137 for details.
// Never inline, as we don't want to unnecessarily link the
// automation DLL via the ISelectionProvider interface type initialization.
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
get { return _viewAutomationPeer; }
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
set
{
if (_viewAutomationPeer != value)
{
_refreshItemPeers = true;
}
_viewAutomationPeer = value;
}
}
#region Private Fields
private bool _refreshItemPeers = false;
private IViewAutomationPeer _viewAutomationPeer;
#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
- WindowsMenu.cs
- XmlException.cs
- FixedSOMTable.cs
- StreamSecurityUpgradeProvider.cs
- TextAction.cs
- Select.cs
- ListBoxAutomationPeer.cs
- RoleManagerSection.cs
- ObjectListShowCommandsEventArgs.cs
- CookielessHelper.cs
- DocumentViewerAutomationPeer.cs
- PlanCompiler.cs
- SkipStoryboardToFill.cs
- SafeNativeMethodsCLR.cs
- SubclassTypeValidatorAttribute.cs
- VectorConverter.cs
- SafeNativeMethods.cs
- AnimationException.cs
- CreateUserErrorEventArgs.cs
- XmlSchemaComplexType.cs
- BindingMemberInfo.cs
- GPPOINT.cs
- UnknownWrapper.cs
- PageAction.cs
- SurrogateEncoder.cs
- ReadOnlyHierarchicalDataSource.cs
- SqlDataReaderSmi.cs
- DesignerAutoFormat.cs
- SchemaTableOptionalColumn.cs
- TextEvent.cs
- SizeAnimationUsingKeyFrames.cs
- ThreadAbortException.cs
- BitmapCodecInfo.cs
- TableRowCollection.cs
- AutomationProperties.cs
- TableItemPatternIdentifiers.cs
- ClientData.cs
- DayRenderEvent.cs
- QueueProcessor.cs
- ThreadAttributes.cs
- AdRotatorDesigner.cs
- MdiWindowListStrip.cs
- MailSettingsSection.cs
- XmlSchemaDocumentation.cs
- XDRSchema.cs
- DataGridTemplateColumn.cs
- VirtualDirectoryMapping.cs
- CaseInsensitiveHashCodeProvider.cs
- Publisher.cs
- LineServicesRun.cs
- SoapAttributeOverrides.cs
- LeftCellWrapper.cs
- RegexReplacement.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- RolePrincipal.cs
- FixedSOMTableCell.cs
- TextBoxView.cs
- TdsRecordBufferSetter.cs
- TypeDescriptor.cs
- Itemizer.cs
- XmlResolver.cs
- PeerEndPoint.cs
- TextServicesCompartmentEventSink.cs
- DockingAttribute.cs
- Ops.cs
- ScaleTransform3D.cs
- UnmanagedMemoryStream.cs
- SecurityTokenProvider.cs
- WebBrowserNavigatingEventHandler.cs
- UncommonField.cs
- DelayedRegex.cs
- ContractReference.cs
- CellLabel.cs
- smtpconnection.cs
- InitializingNewItemEventArgs.cs
- StrokeNodeEnumerator.cs
- XhtmlBasicLiteralTextAdapter.cs
- WindowsButton.cs
- ModifyActivitiesPropertyDescriptor.cs
- GenericIdentity.cs
- WebBrowserBase.cs
- RegexWriter.cs
- SqlInternalConnectionTds.cs
- PropertyCondition.cs
- SqlServices.cs
- PolyLineSegment.cs
- GorillaCodec.cs
- Int64AnimationBase.cs
- MemoryResponseElement.cs
- SafeRightsManagementPubHandle.cs
- UrlUtility.cs
- PointLightBase.cs
- ProcessThread.cs
- TextParagraphView.cs
- DesignerVerb.cs
- DrawingState.cs
- GatewayDefinition.cs
- ControlAdapter.cs
- SqlDataSourceFilteringEventArgs.cs
- QilGenerator.cs