Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- DependencyPropertyDescriptor.cs
- SimpleApplicationHost.cs
- SqlWebEventProvider.cs
- SEHException.cs
- PixelShader.cs
- MimeTextImporter.cs
- ToolStripDropTargetManager.cs
- SqlFileStream.cs
- HMACRIPEMD160.cs
- DataGridCommandEventArgs.cs
- DiscriminatorMap.cs
- DataServiceRequest.cs
- PerfCounterSection.cs
- AnnotationHelper.cs
- AssemblyAttributes.cs
- EmptyImpersonationContext.cs
- XmlSchemaAnnotation.cs
- Popup.cs
- objectquery_tresulttype.cs
- PreviewPageInfo.cs
- WmlLabelAdapter.cs
- IxmlLineInfo.cs
- QuaternionIndependentAnimationStorage.cs
- DebugHandleTracker.cs
- ThemeableAttribute.cs
- HostingPreferredMapPath.cs
- DocumentGrid.cs
- ApplicationServiceManager.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- SettingsAttributeDictionary.cs
- QilCloneVisitor.cs
- ParsedAttributeCollection.cs
- BindingParameterCollection.cs
- Compilation.cs
- FormatterServices.cs
- StrokeCollectionDefaultValueFactory.cs
- MsmqSecureHashAlgorithm.cs
- AssemblyCollection.cs
- ListControlConvertEventArgs.cs
- AddInProcess.cs
- KnownTypesProvider.cs
- CodeDirectiveCollection.cs
- ToolBarButtonClickEvent.cs
- PropertyItem.cs
- XmlSerializerOperationGenerator.cs
- OverflowException.cs
- ViewStateException.cs
- System.Data_BID.cs
- DataFormats.cs
- Certificate.cs
- DodSequenceMerge.cs
- DataGridViewSelectedCellCollection.cs
- ImportDesigner.xaml.cs
- DescendantBaseQuery.cs
- MatrixStack.cs
- ExpanderAutomationPeer.cs
- SerializerWriterEventHandlers.cs
- SspiSecurityTokenProvider.cs
- DataGrid.cs
- HttpServerVarsCollection.cs
- Empty.cs
- ProfileSection.cs
- WebRequest.cs
- MembershipValidatePasswordEventArgs.cs
- HttpDigestClientElement.cs
- Stylus.cs
- XmlDataImplementation.cs
- RawUIStateInputReport.cs
- xdrvalidator.cs
- ZoneButton.cs
- ActivityCodeDomReferenceService.cs
- SSmlParser.cs
- ContainerFilterService.cs
- ApplicationHost.cs
- ExpressionVisitor.cs
- WebPartUtil.cs
- TrustManager.cs
- EventRouteFactory.cs
- IChannel.cs
- CellTreeNodeVisitors.cs
- CompareValidator.cs
- ContainerControlDesigner.cs
- LineInfo.cs
- VideoDrawing.cs
- XsltLibrary.cs
- ChannelPoolSettings.cs
- SQLBytesStorage.cs
- KeyProperty.cs
- AutoResetEvent.cs
- ServiceThrottlingBehavior.cs
- Object.cs
- BlobPersonalizationState.cs
- HtmlInputPassword.cs
- PreviewPrintController.cs
- XsdBuilder.cs
- StateManagedCollection.cs
- Stylesheet.cs
- StyleTypedPropertyAttribute.cs
- ReturnEventArgs.cs
- WinEventHandler.cs