Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Automation / Peers / ListViewAutomationPeer.cs / 1 / 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 ListGetChildrenCore() { 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 ListGetChildrenCore() { 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
- ClientSettingsProvider.cs
- BulletChrome.cs
- MouseEventArgs.cs
- PageAdapter.cs
- ResizeGrip.cs
- BinaryConverter.cs
- ModelPropertyDescriptor.cs
- MenuItem.cs
- SafeRightsManagementPubHandle.cs
- PersianCalendar.cs
- DesignerUtils.cs
- AsyncResult.cs
- SelectorItemAutomationPeer.cs
- OleDbInfoMessageEvent.cs
- UrlAuthorizationModule.cs
- ItemChangedEventArgs.cs
- CompoundFileStreamReference.cs
- RepeatBehavior.cs
- Publisher.cs
- SelectionProcessor.cs
- SourceSwitch.cs
- Propagator.ExtentPlaceholderCreator.cs
- HttpClientChannel.cs
- Debug.cs
- SelectionRange.cs
- DispatcherSynchronizationContext.cs
- CopyAction.cs
- InitializerFacet.cs
- OperationContextScope.cs
- TemplatedMailWebEventProvider.cs
- SchemaCollectionCompiler.cs
- CaretElement.cs
- Triangle.cs
- ContentType.cs
- ClientRuntimeConfig.cs
- AssemblyBuilder.cs
- SiteMapProvider.cs
- GridViewCommandEventArgs.cs
- SmtpException.cs
- ClientType.cs
- WFItemsToSpacerVisibility.cs
- XmlHierarchyData.cs
- TypeDependencyAttribute.cs
- ScalarConstant.cs
- WinFormsSecurity.cs
- ScriptReferenceBase.cs
- FixedDocument.cs
- wpf-etw.cs
- PowerModeChangedEventArgs.cs
- DataBoundControlActionList.cs
- XhtmlConformanceSection.cs
- QuadraticBezierSegment.cs
- FontStretches.cs
- ListParagraph.cs
- RuleSet.cs
- SiteMapProvider.cs
- ScalarType.cs
- BitmapFrame.cs
- CodeRegionDirective.cs
- EditorPartChrome.cs
- CodeMemberEvent.cs
- SortDescription.cs
- XmlBinaryReader.cs
- loginstatus.cs
- HtmlSelect.cs
- RightsManagementSuppressedStream.cs
- remotingproxy.cs
- ErrorWebPart.cs
- DeflateStream.cs
- ResourceReader.cs
- EntityDataSourceChangingEventArgs.cs
- Rules.cs
- GeneralTransform3DGroup.cs
- SimpleWebHandlerParser.cs
- TypeBuilder.cs
- CodeSnippetCompileUnit.cs
- WindowsFormsHostAutomationPeer.cs
- ImageCodecInfoPrivate.cs
- ContextBase.cs
- Application.cs
- TypeLibConverter.cs
- HMACSHA384.cs
- TextAction.cs
- ISSmlParser.cs
- UInt32Converter.cs
- MailMessageEventArgs.cs
- TimerElapsedEvenArgs.cs
- CriticalExceptions.cs
- ZoneMembershipCondition.cs
- ComponentSerializationService.cs
- InputProcessorProfilesLoader.cs
- VectorConverter.cs
- TextHidden.cs
- TransformedBitmap.cs
- HttpPostedFile.cs
- ProcessHostConfigUtils.cs
- VisualCollection.cs
- ExpandedWrapper.cs
- ProfileGroupSettingsCollection.cs