Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- BitmapMetadataBlob.cs
- ImagingCache.cs
- FileEnumerator.cs
- OleDbMetaDataFactory.cs
- BamlResourceContent.cs
- DropSource.cs
- PlanCompiler.cs
- StrongNameMembershipCondition.cs
- EpmAttributeNameBuilder.cs
- MemberDescriptor.cs
- MailDefinitionBodyFileNameEditor.cs
- SafeNativeMethods.cs
- TemplateGroupCollection.cs
- RightsManagementPermission.cs
- _LoggingObject.cs
- SmtpReplyReaderFactory.cs
- SQLInt32Storage.cs
- XmlBoundElement.cs
- EventData.cs
- CrossContextChannel.cs
- ErrorFormatter.cs
- UTF32Encoding.cs
- ScaleTransform.cs
- GridViewRowEventArgs.cs
- ExpressionLink.cs
- FileCodeGroup.cs
- DynamicDocumentPaginator.cs
- InvalidEnumArgumentException.cs
- DataSourceView.cs
- PlatformNotSupportedException.cs
- MemoryRecordBuffer.cs
- X509SecurityToken.cs
- ProtocolsConfiguration.cs
- CellIdBoolean.cs
- DataSetViewSchema.cs
- UserValidatedEventArgs.cs
- DragDropManager.cs
- Font.cs
- DebugTracing.cs
- TableLayoutCellPaintEventArgs.cs
- TextEndOfLine.cs
- IPPacketInformation.cs
- AlignmentXValidation.cs
- StorageMappingItemLoader.cs
- CriticalFinalizerObject.cs
- AttributeSetAction.cs
- FieldBuilder.cs
- XamlDesignerSerializationManager.cs
- Adorner.cs
- RegistrySecurity.cs
- RegistryDataKey.cs
- ContextStaticAttribute.cs
- DependencyPropertyAttribute.cs
- ArrayWithOffset.cs
- UniformGrid.cs
- ControlType.cs
- EntityDataSourceChangingEventArgs.cs
- InternalPolicyElement.cs
- NullableDoubleAverageAggregationOperator.cs
- Timer.cs
- CodeTryCatchFinallyStatement.cs
- DesignerOptionService.cs
- XmlAnyElementAttributes.cs
- DiagnosticStrings.cs
- XmlSchemaFacet.cs
- CodeGenHelper.cs
- SafeMILHandle.cs
- SimpleType.cs
- QuaternionConverter.cs
- MailFileEditor.cs
- DateTime.cs
- UserControl.cs
- SymLanguageVendor.cs
- MemberInfoSerializationHolder.cs
- FrameSecurityDescriptor.cs
- ITreeGenerator.cs
- Attributes.cs
- QuaternionAnimationBase.cs
- SessionPageStateSection.cs
- DefaultPrintController.cs
- GetCardDetailsRequest.cs
- CustomCategoryAttribute.cs
- HttpServerVarsCollection.cs
- ExplicitDiscriminatorMap.cs
- GridSplitterAutomationPeer.cs
- FunctionParameter.cs
- SuppressMessageAttribute.cs
- UnhandledExceptionEventArgs.cs
- ToolBarButtonClickEvent.cs
- DrawingAttributesDefaultValueFactory.cs
- Privilege.cs
- SafeCertificateContext.cs
- glyphs.cs
- CommentAction.cs
- StylusPointPropertyUnit.cs
- StylusButtonEventArgs.cs
- CompilerResults.cs
- SymbolTable.cs
- TextTreeFixupNode.cs
- EncryptedXml.cs