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
- HierarchicalDataBoundControl.cs
- SevenBitStream.cs
- SmuggledIUnknown.cs
- GeneralTransform3DCollection.cs
- UrlUtility.cs
- XmlUtil.cs
- ListenerSessionConnection.cs
- ItemsChangedEventArgs.cs
- DesignerVerb.cs
- _BasicClient.cs
- DynamicValidatorEventArgs.cs
- MouseButtonEventArgs.cs
- DispatcherHookEventArgs.cs
- DbDataReader.cs
- InteropBitmapSource.cs
- regiisutil.cs
- InputLanguage.cs
- Vector3DIndependentAnimationStorage.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- TdsParserStateObject.cs
- HtmlInputRadioButton.cs
- PropertyValueChangedEvent.cs
- ToolboxItemCollection.cs
- FilterableAttribute.cs
- AssemblyUtil.cs
- TlsnegoTokenAuthenticator.cs
- Cell.cs
- ExpressionPrefixAttribute.cs
- WsatServiceCertificate.cs
- NameScope.cs
- CodeAttachEventStatement.cs
- Menu.cs
- ResourceContainer.cs
- SecurityHelper.cs
- OdbcParameterCollection.cs
- IndependentAnimationStorage.cs
- PrintingPermissionAttribute.cs
- Transform3D.cs
- RouteValueDictionary.cs
- TypeBuilder.cs
- ArrayElementGridEntry.cs
- GetChildSubtree.cs
- Duration.cs
- XmlSchemaAttributeGroup.cs
- ImageButton.cs
- PropertyPath.cs
- SoapFault.cs
- SHA384Managed.cs
- FunctionImportMapping.cs
- Serializer.cs
- BrowserCapabilitiesCompiler.cs
- TableRowCollection.cs
- OrderPreservingPipeliningMergeHelper.cs
- Point3DIndependentAnimationStorage.cs
- InputMethodStateChangeEventArgs.cs
- KeyConverter.cs
- TerminatorSinks.cs
- Italic.cs
- ResourceDefaultValueAttribute.cs
- FixedHyperLink.cs
- ApplicationCommands.cs
- ContractMethodInfo.cs
- base64Transforms.cs
- Assembly.cs
- XPathParser.cs
- PackageRelationshipSelector.cs
- ArrayTypeMismatchException.cs
- ColumnReorderedEventArgs.cs
- SecureStringHasher.cs
- IndexOutOfRangeException.cs
- EdmComplexPropertyAttribute.cs
- OciHandle.cs
- ErrorHandlingAcceptor.cs
- Models.cs
- X509Certificate2Collection.cs
- __FastResourceComparer.cs
- DelegatingConfigHost.cs
- DataViewManagerListItemTypeDescriptor.cs
- MatrixStack.cs
- ResizeBehavior.cs
- OdbcCommandBuilder.cs
- EUCJPEncoding.cs
- MergeFilterQuery.cs
- Normalization.cs
- RadialGradientBrush.cs
- NamedPipeTransportSecurity.cs
- EraserBehavior.cs
- ExitEventArgs.cs
- SecurityProtocolFactory.cs
- EdmComplexPropertyAttribute.cs
- UniqueIdentifierService.cs
- SchemaElement.cs
- DynamicArgumentDialog.cs
- WrappedIUnknown.cs
- LiteralTextContainerControlBuilder.cs
- CodeFieldReferenceExpression.cs
- AuthenticatingEventArgs.cs
- DesignerDataSchemaClass.cs
- unitconverter.cs
- PerfProviderCollection.cs