Code:
/ 4.0 / 4.0 / 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.
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
- ButtonFieldBase.cs
- ManagedIStream.cs
- PerfCounters.cs
- ComponentEditorForm.cs
- SecurityDocument.cs
- HostExecutionContextManager.cs
- CodeLinePragma.cs
- WebPartDeleteVerb.cs
- RoutedEventHandlerInfo.cs
- HashSetDebugView.cs
- Form.cs
- MemberAssignment.cs
- Attributes.cs
- _ContextAwareResult.cs
- XmlnsDictionary.cs
- ObjectDataSourceFilteringEventArgs.cs
- SignedXml.cs
- CustomErrorCollection.cs
- SequentialOutput.cs
- Configuration.cs
- ConfigurationSectionGroupCollection.cs
- DataFormats.cs
- DropShadowEffect.cs
- InputProcessorProfilesLoader.cs
- SliderAutomationPeer.cs
- DiffuseMaterial.cs
- BitmapEffectrendercontext.cs
- JulianCalendar.cs
- TypeConverterHelper.cs
- TransformValueSerializer.cs
- ViewGenerator.cs
- GridViewDeletedEventArgs.cs
- TypeDescriptor.cs
- WebBrowsableAttribute.cs
- Stack.cs
- mansign.cs
- AttributeData.cs
- XmlNullResolver.cs
- ListParaClient.cs
- WindowsAuthenticationEventArgs.cs
- RowToFieldTransformer.cs
- ImageAttributes.cs
- Nullable.cs
- EqualityComparer.cs
- DataGridViewLinkColumn.cs
- PagesChangedEventArgs.cs
- AbstractExpressions.cs
- EntityModelSchemaGenerator.cs
- HandlerWithFactory.cs
- TagNameToTypeMapper.cs
- PanelDesigner.cs
- pingexception.cs
- ScrollChrome.cs
- ADRoleFactory.cs
- InvariantComparer.cs
- StringUtil.cs
- SHA1CryptoServiceProvider.cs
- InvariantComparer.cs
- TypeSystem.cs
- AnnotationDocumentPaginator.cs
- UserControlCodeDomTreeGenerator.cs
- OraclePermission.cs
- OracleDataReader.cs
- SafeNativeHandle.cs
- SrgsSubset.cs
- ConstructorExpr.cs
- RadioButton.cs
- Image.cs
- DataGridViewCellValidatingEventArgs.cs
- ReceiveMessageRecord.cs
- TypeUtil.cs
- _ListenerResponseStream.cs
- FrameworkTextComposition.cs
- DataControlFieldHeaderCell.cs
- ModuleBuilderData.cs
- HtmlWindowCollection.cs
- SqlClientFactory.cs
- MaskedTextBox.cs
- ByteAnimationUsingKeyFrames.cs
- DoubleStorage.cs
- RankException.cs
- ServiceModelActivity.cs
- SafeMILHandle.cs
- MessageQueue.cs
- fixedPageContentExtractor.cs
- WebPartEditVerb.cs
- CompilerParameters.cs
- DataGridViewColumnCollection.cs
- XmlAttributeCollection.cs
- CharacterHit.cs
- ConfigurationManager.cs
- CompositeControlDesigner.cs
- MetadataItemSerializer.cs
- OleDbRowUpdatingEvent.cs
- TypeInfo.cs
- SessionStateItemCollection.cs
- PageThemeCodeDomTreeGenerator.cs
- WebPartExportVerb.cs
- DataGridViewSortCompareEventArgs.cs
- Version.cs