Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- DbUpdateCommandTree.cs
- HTMLTagNameToTypeMapper.cs
- WindowPatternIdentifiers.cs
- NavigationService.cs
- WebEventCodes.cs
- MetadataArtifactLoaderComposite.cs
- StringWriter.cs
- ImageListImage.cs
- SystemThemeKey.cs
- ValidationVisibilityAttribute.cs
- ListGeneralPage.cs
- TextPointerBase.cs
- TextComposition.cs
- RuntimeResourceSet.cs
- ChannelSinkStacks.cs
- QueryServiceConfigHandle.cs
- PathFigureCollectionValueSerializer.cs
- UrlAuthFailedErrorFormatter.cs
- StateMachineWorkflow.cs
- WebProxyScriptElement.cs
- WhereaboutsReader.cs
- DirtyTextRange.cs
- StorageComplexTypeMapping.cs
- SqlFacetAttribute.cs
- CollectionContainer.cs
- ToolStripCustomTypeDescriptor.cs
- DragDeltaEventArgs.cs
- DataGridViewCellValueEventArgs.cs
- WebBrowserEvent.cs
- WrappedOptions.cs
- BitArray.cs
- WebHttpSecurity.cs
- Enum.cs
- DefaultBinder.cs
- ProfileSettings.cs
- GroupBoxRenderer.cs
- DocumentPageView.cs
- AdapterUtil.cs
- HandlerBase.cs
- Transform3D.cs
- DiscoveryInnerClientAdhoc11.cs
- XmlTextReader.cs
- TraceContextRecord.cs
- DefaultProfileManager.cs
- EmptyEnumerator.cs
- IdentitySection.cs
- SoapSchemaMember.cs
- LastQueryOperator.cs
- WindowsUpDown.cs
- CalendarDateChangedEventArgs.cs
- HttpBrowserCapabilitiesWrapper.cs
- TraceInternal.cs
- ErrorsHelper.cs
- QueuedDeliveryRequirementsMode.cs
- RecommendedAsConfigurableAttribute.cs
- QuadraticEase.cs
- LoaderAllocator.cs
- HeaderLabel.cs
- CrossSiteScriptingValidation.cs
- FileRecordSequenceCompletedAsyncResult.cs
- NullRuntimeConfig.cs
- WebPartConnectionsConnectVerb.cs
- SocketAddress.cs
- Point3DCollectionConverter.cs
- ColorConvertedBitmap.cs
- HtmlLinkAdapter.cs
- UnsafeNativeMethods.cs
- Facet.cs
- SwitchElementsCollection.cs
- WaitingCursor.cs
- LateBoundBitmapDecoder.cs
- dbdatarecord.cs
- BitConverter.cs
- AutoGeneratedFieldProperties.cs
- LicenseContext.cs
- BCLDebug.cs
- CompositeActivityCodeGenerator.cs
- Nodes.cs
- RightsManagementPermission.cs
- ChineseLunisolarCalendar.cs
- FactoryMaker.cs
- NavigationService.cs
- CompoundFileStorageReference.cs
- FormViewPageEventArgs.cs
- WebPartConnectionsCancelVerb.cs
- SolidColorBrush.cs
- ActiveXMessageFormatter.cs
- WindowsServiceCredential.cs
- XmlException.cs
- SoapIncludeAttribute.cs
- ListMarkerSourceInfo.cs
- NullableIntSumAggregationOperator.cs
- WebPartMovingEventArgs.cs
- ListViewCancelEventArgs.cs
- CopyNamespacesAction.cs
- FixedSOMPage.cs
- FrameworkContentElement.cs
- TagPrefixInfo.cs
- ModelToObjectValueConverter.cs
- CodeNamespaceImport.cs