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
- PasswordTextContainer.cs
- MgmtResManager.cs
- JavascriptXmlWriterWrapper.cs
- DataServiceRequest.cs
- PatternMatcher.cs
- SoapFault.cs
- ViewBox.cs
- ModelUIElement3D.cs
- ApplicationSecurityInfo.cs
- HttpModuleActionCollection.cs
- DataGridPageChangedEventArgs.cs
- DependencyStoreSurrogate.cs
- Signature.cs
- OleDbFactory.cs
- WebServiceMethodData.cs
- AttributeCollection.cs
- XmlSchemaSimpleTypeList.cs
- VisualBrush.cs
- EntitySqlQueryBuilder.cs
- RichTextBoxAutomationPeer.cs
- FixedPosition.cs
- FrameworkElement.cs
- Filter.cs
- ApplicationActivator.cs
- SqlBuilder.cs
- EpmSourceTree.cs
- Math.cs
- PageAsyncTaskManager.cs
- FontWeight.cs
- EdmType.cs
- Evaluator.cs
- DivideByZeroException.cs
- SplitterCancelEvent.cs
- CompositeScriptReferenceEventArgs.cs
- ClientCultureInfo.cs
- DynamicDocumentPaginator.cs
- DropShadowEffect.cs
- OrderedDictionary.cs
- XmlSchemaProviderAttribute.cs
- TableLayoutPanelBehavior.cs
- CodeObjectCreateExpression.cs
- TransportOutputChannel.cs
- XmlSchemaDocumentation.cs
- InputManager.cs
- InputLanguageCollection.cs
- TranslateTransform.cs
- CodeCommentStatementCollection.cs
- DataBoundControlHelper.cs
- ReaderContextStackData.cs
- GridViewColumnHeaderAutomationPeer.cs
- StateMachine.cs
- NamespaceDisplay.xaml.cs
- InstancePersistenceContext.cs
- CompositeFontInfo.cs
- StringComparer.cs
- EventData.cs
- ParameterSubsegment.cs
- ConnectivityStatus.cs
- ListViewDeletedEventArgs.cs
- HttpServerUtilityWrapper.cs
- AsyncContentLoadedEventArgs.cs
- GridSplitterAutomationPeer.cs
- SelectiveScrollingGrid.cs
- PageRouteHandler.cs
- LazyTextWriterCreator.cs
- SchemaTableOptionalColumn.cs
- StreamUpdate.cs
- FrameworkElementFactoryMarkupObject.cs
- FixedSOMTableRow.cs
- RowSpanVector.cs
- ButtonPopupAdapter.cs
- DbConnectionInternal.cs
- ToolStripContainer.cs
- FilteredReadOnlyMetadataCollection.cs
- ChangePasswordDesigner.cs
- FamilyMapCollection.cs
- SafeRegistryHandle.cs
- TreePrinter.cs
- FtpWebRequest.cs
- XPathDocumentBuilder.cs
- AsyncOperationManager.cs
- ArraySubsetEnumerator.cs
- SQLBytesStorage.cs
- hwndwrapper.cs
- WebProxyScriptElement.cs
- FileNameEditor.cs
- RectConverter.cs
- DesignTimeTemplateParser.cs
- ApplicationInfo.cs
- Vertex.cs
- PublisherMembershipCondition.cs
- CatalogUtil.cs
- UInt32.cs
- TimelineGroup.cs
- OutputCacheProfile.cs
- CodeCastExpression.cs
- LinqDataSourceInsertEventArgs.cs
- LinearQuaternionKeyFrame.cs
- MiniConstructorInfo.cs
- XmlHierarchicalEnumerable.cs