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
- ButtonFlatAdapter.cs
- SqlStream.cs
- SrgsRuleRef.cs
- FontFamily.cs
- ExpressionBinding.cs
- DictionaryItemsCollection.cs
- FixedSOMTable.cs
- GeneralTransform3D.cs
- CommonObjectSecurity.cs
- DataGridPagingPage.cs
- EnumType.cs
- PropertyFilterAttribute.cs
- RotateTransform.cs
- SessionIDManager.cs
- File.cs
- VerificationAttribute.cs
- StylusEventArgs.cs
- DataTable.cs
- WebBrowserPermission.cs
- UrlAuthFailedErrorFormatter.cs
- ScriptControlDescriptor.cs
- PipeStream.cs
- ConnectionStringsSection.cs
- Rect3DValueSerializer.cs
- Permission.cs
- ScrollBar.cs
- Main.cs
- validationstate.cs
- SpeechDetectedEventArgs.cs
- RowTypePropertyElement.cs
- LoginUtil.cs
- DataTableExtensions.cs
- ParallelSeparator.xaml.cs
- _RequestCacheProtocol.cs
- HttpCapabilitiesSectionHandler.cs
- FormViewUpdateEventArgs.cs
- ZipIOExtraFieldPaddingElement.cs
- Lease.cs
- SqlTopReducer.cs
- ByteStreamGeometryContext.cs
- CryptoStream.cs
- DataGridViewCellCollection.cs
- SqlServices.cs
- ellipse.cs
- DescendantOverDescendantQuery.cs
- SettingsPropertyCollection.cs
- ServiceDurableInstance.cs
- TablePattern.cs
- ListInitExpression.cs
- RowCache.cs
- TimeoutStream.cs
- SetState.cs
- ObjectSet.cs
- CodeTypeDeclarationCollection.cs
- RegexCode.cs
- InputGestureCollection.cs
- ZipIORawDataFileBlock.cs
- _KerberosClient.cs
- _BasicClient.cs
- XmlSchemaComplexContentRestriction.cs
- PartialCachingControl.cs
- Font.cs
- ProjectedWrapper.cs
- IndexOutOfRangeException.cs
- ProfileEventArgs.cs
- DataTableNewRowEvent.cs
- TypeUnloadedException.cs
- StaticTextPointer.cs
- DataGridViewRowCancelEventArgs.cs
- RIPEMD160Managed.cs
- OdbcPermission.cs
- SiteMapDataSource.cs
- XmlSchemaObjectTable.cs
- FileAuthorizationModule.cs
- TargetConverter.cs
- AssemblyBuilder.cs
- EmptyReadOnlyDictionaryInternal.cs
- MemberMaps.cs
- BindingMemberInfo.cs
- DeploymentExceptionMapper.cs
- NativeRightsManagementAPIsStructures.cs
- JsonReaderDelegator.cs
- PagesChangedEventArgs.cs
- OrderPreservingSpoolingTask.cs
- DPAPIProtectedConfigurationProvider.cs
- DesignerForm.cs
- COMException.cs
- ChangeConflicts.cs
- QueryStringParameter.cs
- PageAsyncTask.cs
- BitmapEffect.cs
- HttpHandlersSection.cs
- HttpListenerRequest.cs
- ClassValidator.cs
- PageCatalogPart.cs
- ListControl.cs
- SqlServer2KCompatibilityAnnotation.cs
- LicFileLicenseProvider.cs
- Misc.cs
- XPathDescendantIterator.cs