Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Automation / Peers / TabItemAutomationPeer.cs / 1 / TabItemAutomationPeer.cs
using System; 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 TabItemAutomationPeer : SelectorItemAutomationPeer, ISelectionItemProvider { /// public TabItemAutomationPeer(object owner, TabControlAutomationPeer tabControlAutomationPeer) : base(owner, tabControlAutomationPeer) {} /// override protected string GetClassNameCore() { return "TabItem"; } /// override protected AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.TabItem; } // Return the base without the AccessKey character /// override protected string GetNameCore() { string result = base.GetNameCore(); if (!string.IsNullOrEmpty(result)) { TabItem tabItem = GetWrapper() as TabItem; if (tabItem.Header is string) { return AccessText.RemoveAccessKeyMarker(result); } } return result; } // Selected TabItem content is located under the TabControl style visual tree /// protected override ListGetChildrenCore() { // Call the base in case we have children in the header List headerChildren = base.GetChildrenCore(); // Only if the TabItem is selected we need to add its visual children TabItem tabItem = GetWrapper() as TabItem; if (tabItem != null && tabItem.IsSelected) { TabControl parentTabControl = ItemsControlAutomationPeer.Owner as TabControl; if (parentTabControl != null) { ContentPresenter contentHost = parentTabControl.SelectedContentPresenter; if (contentHost != null) { AutomationPeer contentHostPeer = new FrameworkElementAutomationPeer(contentHost); List contentChildren = contentHostPeer.GetChildren(); if (contentChildren != null) { if (headerChildren == null) headerChildren = contentChildren; else headerChildren.AddRange(contentChildren); } } } } return headerChildren; } void ISelectionItemProvider.RemoveFromSelection() { if (!IsEnabled()) throw new ElementNotEnabledException(); TabItem tabItem = GetWrapper() as TabItem; if (tabItem.IsSelected) { throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; 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 TabItemAutomationPeer : SelectorItemAutomationPeer, ISelectionItemProvider { /// public TabItemAutomationPeer(object owner, TabControlAutomationPeer tabControlAutomationPeer) : base(owner, tabControlAutomationPeer) {} /// override protected string GetClassNameCore() { return "TabItem"; } /// override protected AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.TabItem; } // Return the base without the AccessKey character /// override protected string GetNameCore() { string result = base.GetNameCore(); if (!string.IsNullOrEmpty(result)) { TabItem tabItem = GetWrapper() as TabItem; if (tabItem.Header is string) { return AccessText.RemoveAccessKeyMarker(result); } } return result; } // Selected TabItem content is located under the TabControl style visual tree /// protected override List GetChildrenCore() { // Call the base in case we have children in the header List headerChildren = base.GetChildrenCore(); // Only if the TabItem is selected we need to add its visual children TabItem tabItem = GetWrapper() as TabItem; if (tabItem != null && tabItem.IsSelected) { TabControl parentTabControl = ItemsControlAutomationPeer.Owner as TabControl; if (parentTabControl != null) { ContentPresenter contentHost = parentTabControl.SelectedContentPresenter; if (contentHost != null) { AutomationPeer contentHostPeer = new FrameworkElementAutomationPeer(contentHost); List contentChildren = contentHostPeer.GetChildren(); if (contentChildren != null) { if (headerChildren == null) headerChildren = contentChildren; else headerChildren.AddRange(contentChildren); } } } } return headerChildren; } void ISelectionItemProvider.RemoveFromSelection() { if (!IsEnabled()) throw new ElementNotEnabledException(); TabItem tabItem = GetWrapper() as TabItem; if (tabItem.IsSelected) { throw new InvalidOperationException(SR.Get(SRID.UIA_OperationCannotBePerformed)); } } } } // 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
- InteropEnvironment.cs
- LoginName.cs
- Normalization.cs
- PointF.cs
- HotSpotCollection.cs
- TextAdaptor.cs
- DiscardableAttribute.cs
- Polyline.cs
- BuildProviderUtils.cs
- HtmlInputFile.cs
- GeometryDrawing.cs
- PolygonHotSpot.cs
- ThousandthOfEmRealDoubles.cs
- FontEmbeddingManager.cs
- GradientStop.cs
- SchemaImporterExtensionElement.cs
- CardSpaceShim.cs
- FilteredXmlReader.cs
- DataGridViewMethods.cs
- XmlDataSourceView.cs
- ScriptComponentDescriptor.cs
- StrongName.cs
- QilName.cs
- BindableAttribute.cs
- SafeArrayTypeMismatchException.cs
- RoleManagerModule.cs
- DnsPermission.cs
- EncryptedPackage.cs
- FactoryGenerator.cs
- EdmToObjectNamespaceMap.cs
- PassportIdentity.cs
- CircleHotSpot.cs
- _IPv4Address.cs
- VirtualizedItemProviderWrapper.cs
- SoapEnvelopeProcessingElement.cs
- Vector.cs
- ExtendedPropertyDescriptor.cs
- CheckBox.cs
- XmlAttributes.cs
- ReflectionPermission.cs
- RenderingEventArgs.cs
- XmlEncoding.cs
- BinaryHeap.cs
- WindowsProgressbar.cs
- AliasedExpr.cs
- ConfigXmlCDataSection.cs
- COM2Enum.cs
- SpecialFolderEnumConverter.cs
- MediaElementAutomationPeer.cs
- HMACRIPEMD160.cs
- DataServiceKeyAttribute.cs
- ControlBindingsCollection.cs
- BufferAllocator.cs
- __ConsoleStream.cs
- WebPartDisplayModeEventArgs.cs
- InputScope.cs
- DrawingContext.cs
- NativeMethods.cs
- TableCell.cs
- XmlElement.cs
- SetStoryboardSpeedRatio.cs
- HandleExceptionArgs.cs
- SQLUtility.cs
- GroupItem.cs
- ScriptResourceInfo.cs
- ScriptingJsonSerializationSection.cs
- DataControlField.cs
- TransactionManager.cs
- Light.cs
- AuthenticationSchemesHelper.cs
- TreeViewHitTestInfo.cs
- WebRequest.cs
- Literal.cs
- PersonalizationAdministration.cs
- Matrix3DStack.cs
- TextDecorationCollectionConverter.cs
- StopStoryboard.cs
- PanningMessageFilter.cs
- PropertyMetadata.cs
- DatagridviewDisplayedBandsData.cs
- PageAdapter.cs
- ClientProxyGenerator.cs
- EntitySetBase.cs
- PointValueSerializer.cs
- DbQueryCommandTree.cs
- MaterialCollection.cs
- ManipulationInertiaStartingEventArgs.cs
- WSSecurityTokenSerializer.cs
- DataGridViewAutoSizeModeEventArgs.cs
- HttpConfigurationContext.cs
- SmtpTransport.cs
- DoubleAnimationUsingPath.cs
- CurrentTimeZone.cs
- TextSegment.cs
- Timeline.cs
- DefaultSection.cs
- StandardBindingReliableSessionElement.cs
- WebPartActionVerb.cs
- DefinitionBase.cs
- CollectionChangeEventArgs.cs