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
- UriTemplatePathSegment.cs
- SecurityUtils.cs
- StrongNameUtility.cs
- ColumnClickEvent.cs
- NavigationService.cs
- AuthenticationServiceManager.cs
- HttpAsyncResult.cs
- DataGridViewCellStyleChangedEventArgs.cs
- oledbmetadatacolumnnames.cs
- securitycriticaldataClass.cs
- WebPartRestoreVerb.cs
- MultiSelectRootGridEntry.cs
- XPathNavigatorReader.cs
- XmlQueryCardinality.cs
- BufferBuilder.cs
- EntitySqlQueryState.cs
- Environment.cs
- ThrowHelper.cs
- XmlElementList.cs
- CommandField.cs
- CounterCreationDataConverter.cs
- ConfigurationErrorsException.cs
- connectionpool.cs
- CqlLexerHelpers.cs
- IdentitySection.cs
- CompileXomlTask.cs
- TableAutomationPeer.cs
- Function.cs
- DefaultAutoFieldGenerator.cs
- JsonDeserializer.cs
- DetailsViewPagerRow.cs
- UnsafeNativeMethods.cs
- User.cs
- PeerCustomResolverBindingElement.cs
- GridEntry.cs
- HwndProxyElementProvider.cs
- XmlEntityReference.cs
- TableHeaderCell.cs
- OdbcReferenceCollection.cs
- EditorPartChrome.cs
- MailAddressCollection.cs
- XmlSchemaAnnotation.cs
- ChildrenQuery.cs
- OleDbDataAdapter.cs
- ResolveDuplexAsyncResult.cs
- InvalidateEvent.cs
- AppSecurityManager.cs
- StoreContentChangedEventArgs.cs
- Membership.cs
- OdbcConnectionOpen.cs
- StringExpressionSet.cs
- XmlSchemaAnnotation.cs
- PrintEvent.cs
- BCryptSafeHandles.cs
- XPathNodeInfoAtom.cs
- EventLogPermission.cs
- XmlProcessingInstruction.cs
- DataColumnMapping.cs
- XmlSchemaRedefine.cs
- SettingsPropertyIsReadOnlyException.cs
- WebPartRestoreVerb.cs
- EncoderFallback.cs
- BaseResourcesBuildProvider.cs
- NullableIntMinMaxAggregationOperator.cs
- HttpPostedFile.cs
- ContextMenu.cs
- PersonalizationDictionary.cs
- ButtonBaseAdapter.cs
- FileSecurity.cs
- CombinedGeometry.cs
- ExcludeFromCodeCoverageAttribute.cs
- IndexerNameAttribute.cs
- OutputCacheProfileCollection.cs
- IItemProperties.cs
- ObjectQuery_EntitySqlExtensions.cs
- CrossSiteScriptingValidation.cs
- LayoutEngine.cs
- SimpleTextLine.cs
- GifBitmapEncoder.cs
- SystemWebCachingSectionGroup.cs
- XPathParser.cs
- StateChangeEvent.cs
- TableLayoutColumnStyleCollection.cs
- PersonalizableTypeEntry.cs
- PropertyEntry.cs
- WebMessageFormatHelper.cs
- XmlWriterDelegator.cs
- WebHttpElement.cs
- PickBranch.cs
- Inline.cs
- EventLogPropertySelector.cs
- DispatchRuntime.cs
- HttpResponseInternalBase.cs
- FormsAuthenticationTicket.cs
- WebPartExportVerb.cs
- ClientTargetSection.cs
- SiteMapNodeItem.cs
- CompiledRegexRunner.cs
- BindingManagerDataErrorEventArgs.cs
- SortFieldComparer.cs