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
- followingsibling.cs
- Span.cs
- TreeView.cs
- TemplateComponentConnector.cs
- Vector3D.cs
- ThreadInterruptedException.cs
- BulletedListDesigner.cs
- ScriptManagerProxy.cs
- PixelFormat.cs
- SettingsBase.cs
- Psha1DerivedKeyGenerator.cs
- ContentTextAutomationPeer.cs
- SessionStateItemCollection.cs
- ProviderUtil.cs
- RectIndependentAnimationStorage.cs
- IisHelper.cs
- LinqDataSourceContextData.cs
- EpmSyndicationContentSerializer.cs
- PeerDuplexChannelListener.cs
- XmlEncoding.cs
- StrongNameHelpers.cs
- FeatureAttribute.cs
- TcpActivation.cs
- ExtendLockAsyncResult.cs
- EntityDataSourceColumn.cs
- SqlTypeSystemProvider.cs
- HandlerBase.cs
- ComboBoxRenderer.cs
- SetterBaseCollection.cs
- SettingsProperty.cs
- XmlDataSourceNodeDescriptor.cs
- XsdBuildProvider.cs
- SourceFileInfo.cs
- DataStreamFromComStream.cs
- InternalConfigHost.cs
- CaseKeyBox.xaml.cs
- EntitySqlException.cs
- Vector3DAnimationUsingKeyFrames.cs
- Module.cs
- WsdlImporterElementCollection.cs
- Rss20ItemFormatter.cs
- RedistVersionInfo.cs
- Graphics.cs
- ImageMapEventArgs.cs
- UrlMappingsSection.cs
- TextSelection.cs
- DocumentPageViewAutomationPeer.cs
- NonSerializedAttribute.cs
- SqlTypeSystemProvider.cs
- WarningException.cs
- XmlNullResolver.cs
- HandlerFactoryCache.cs
- StartUpEventArgs.cs
- SerializeAbsoluteContext.cs
- TagPrefixAttribute.cs
- ServerValidateEventArgs.cs
- WindowsMenu.cs
- ToolStrip.cs
- MoveSizeWinEventHandler.cs
- CaseInsensitiveComparer.cs
- CodeIndexerExpression.cs
- HTMLTagNameToTypeMapper.cs
- HotSpotCollection.cs
- initElementDictionary.cs
- TcpStreams.cs
- User.cs
- ExpressionVisitor.cs
- ReferenceConverter.cs
- RtfToXamlReader.cs
- UseAttributeSetsAction.cs
- TypeBuilder.cs
- AssemblyResourceLoader.cs
- AvTraceDetails.cs
- DataGridItemCollection.cs
- XmlSchemaSubstitutionGroup.cs
- MD5CryptoServiceProvider.cs
- RelatedView.cs
- ResourceProperty.cs
- XMLSyntaxException.cs
- FaultPropagationQuery.cs
- ResXBuildProvider.cs
- MessageSecurityProtocol.cs
- SqlProviderServices.cs
- MaterialGroup.cs
- DataServiceConfiguration.cs
- GcSettings.cs
- StreamWithDictionary.cs
- SafeFindHandle.cs
- ProviderCommandInfoUtils.cs
- DefaultBindingPropertyAttribute.cs
- ActivationArguments.cs
- AdapterDictionary.cs
- StringUtil.cs
- HttpServerVarsCollection.cs
- SessionEndedEventArgs.cs
- ClientData.cs
- Interlocked.cs
- ByteArrayHelperWithString.cs
- ReadOnlyDictionary.cs
- TextRangeBase.cs