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
- Stylus.cs
- ArrayList.cs
- ControlBindingsCollection.cs
- ConsumerConnectionPoint.cs
- EnumValAlphaComparer.cs
- ConnectionStringSettings.cs
- InfoCardTrace.cs
- TextEditorCopyPaste.cs
- WebRequestModuleElement.cs
- AttributeUsageAttribute.cs
- ListControl.cs
- ByteViewer.cs
- CalendarDesigner.cs
- MouseDevice.cs
- IconHelper.cs
- TextPointer.cs
- SecurityRuntime.cs
- TraceData.cs
- XmlIlVisitor.cs
- TextEndOfParagraph.cs
- ListControl.cs
- sitestring.cs
- ToolTipAutomationPeer.cs
- RectIndependentAnimationStorage.cs
- MissingMemberException.cs
- DispatcherObject.cs
- EastAsianLunisolarCalendar.cs
- EdmType.cs
- DataGridViewAutoSizeModeEventArgs.cs
- PrefixQName.cs
- XPathDocumentNavigator.cs
- ExpressionConverter.cs
- StreamingContext.cs
- Method.cs
- GridViewItemAutomationPeer.cs
- WrappedOptions.cs
- StrongNameSignatureInformation.cs
- webproxy.cs
- StorageBasedPackageProperties.cs
- SiteMapDataSource.cs
- ApplyTemplatesAction.cs
- AssemblyInfo.cs
- BindingMemberInfo.cs
- UnsafeMethods.cs
- CriticalHandle.cs
- ConditionCollection.cs
- ColorContextHelper.cs
- DeferrableContent.cs
- SchemaTableColumn.cs
- IntegerFacetDescriptionElement.cs
- HtmlWindowCollection.cs
- PackagingUtilities.cs
- ContextDataSourceView.cs
- AttributeProviderAttribute.cs
- TcpClientChannel.cs
- ZoomingMessageFilter.cs
- QilInvokeLateBound.cs
- DelimitedListTraceListener.cs
- WebConfigurationFileMap.cs
- SizeAnimationBase.cs
- WSHttpTransportSecurityElement.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- ParallelRangeManager.cs
- Delegate.cs
- OleDbConnectionFactory.cs
- uribuilder.cs
- ThaiBuddhistCalendar.cs
- WebPartCatalogAddVerb.cs
- CheckBoxDesigner.cs
- MatchingStyle.cs
- IPAddress.cs
- Subtree.cs
- MailAddress.cs
- HttpContext.cs
- SecurityManager.cs
- StringFreezingAttribute.cs
- XmlTextReaderImpl.cs
- TranslateTransform3D.cs
- Process.cs
- AddressHeaderCollectionElement.cs
- webbrowsersite.cs
- RequestTimeoutManager.cs
- StaticExtensionConverter.cs
- XamlStyleSerializer.cs
- StringWriter.cs
- Executor.cs
- Root.cs
- XamlTypeMapper.cs
- SecurityManager.cs
- ToolstripProfessionalRenderer.cs
- InvalidPrinterException.cs
- SpellerError.cs
- RowBinding.cs
- HttpRawResponse.cs
- ProgressBar.cs
- EmptyElement.cs
- SpellerError.cs
- SubtreeProcessor.cs
- DirectionalLight.cs
- ProfessionalColorTable.cs