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
- XmlSchemaAny.cs
- SourceFileInfo.cs
- SymmetricAlgorithm.cs
- PartialTrustHelpers.cs
- TrackingExtract.cs
- RuntimeComponentFilter.cs
- Light.cs
- DataGridViewColumnTypePicker.cs
- UserControlParser.cs
- NamespaceInfo.cs
- SchemaObjectWriter.cs
- ErrorFormatterPage.cs
- ValidatingReaderNodeData.cs
- WebPartConnectionsEventArgs.cs
- CodeMethodInvokeExpression.cs
- MonthCalendar.cs
- NamedPermissionSet.cs
- ConnectionStringSettings.cs
- ObjectStateEntryDbDataRecord.cs
- CustomSignedXml.cs
- GetLedgerEntryForRecipientRequest.cs
- ServiceModelSecurityTokenTypes.cs
- Int32CollectionValueSerializer.cs
- ListControlConvertEventArgs.cs
- TagPrefixCollection.cs
- RawAppCommandInputReport.cs
- SiteMapHierarchicalDataSourceView.cs
- FileUpload.cs
- EventTask.cs
- LocatorManager.cs
- EmptyImpersonationContext.cs
- SqlBuilder.cs
- MobileTextWriter.cs
- Empty.cs
- BamlRecords.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- SqlExpander.cs
- DynamicResourceExtension.cs
- CriticalFinalizerObject.cs
- SoapHeaderException.cs
- XmlSortKey.cs
- TimeoutException.cs
- PenThreadWorker.cs
- CanonicalFormWriter.cs
- VectorValueSerializer.cs
- Visual3DCollection.cs
- CopyOnWriteList.cs
- CryptographicAttribute.cs
- ScrollPatternIdentifiers.cs
- SafeRegistryKey.cs
- XmlSecureResolver.cs
- EditingMode.cs
- NetworkStream.cs
- Message.cs
- NonBatchDirectoryCompiler.cs
- WizardPanel.cs
- InputLanguageManager.cs
- DesignerProperties.cs
- BoolLiteral.cs
- CharConverter.cs
- ValidatorCompatibilityHelper.cs
- ParagraphVisual.cs
- Int32Storage.cs
- XmlWrappingWriter.cs
- TextModifierScope.cs
- Size.cs
- MsmqHostedTransportManager.cs
- RightsManagementInformation.cs
- ParallelTimeline.cs
- HyperLinkDataBindingHandler.cs
- TypedMessageConverter.cs
- Vector3DKeyFrameCollection.cs
- InheritanceRules.cs
- ButtonStandardAdapter.cs
- WindowsTooltip.cs
- ConditionalWeakTable.cs
- FlowNode.cs
- SectionInformation.cs
- CultureInfo.cs
- TableRowsCollectionEditor.cs
- InlineObject.cs
- ParserContext.cs
- VisualStyleElement.cs
- Completion.cs
- DataBindingHandlerAttribute.cs
- MarkupCompiler.cs
- ScrollEventArgs.cs
- StreamWriter.cs
- _FtpDataStream.cs
- LayoutTable.cs
- HttpModuleActionCollection.cs
- SafeNativeMethods.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- CompareInfo.cs
- ExpressionHelper.cs
- IdentityModelStringsVersion1.cs
- TypeToken.cs
- ToolboxItemLoader.cs
- Condition.cs
- HtmlMeta.cs