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
- Part.cs
- HtmlForm.cs
- ControlBindingsCollection.cs
- OdbcConnectionOpen.cs
- DataGridParentRows.cs
- _ProxyChain.cs
- StoreContentChangedEventArgs.cs
- CodeAttachEventStatement.cs
- ChannelManager.cs
- IProvider.cs
- OutOfMemoryException.cs
- ModelEditingScope.cs
- BackStopAuthenticationModule.cs
- SessionStateUtil.cs
- MaterialGroup.cs
- ToolStripMenuItem.cs
- ContentElementAutomationPeer.cs
- TrackingMemoryStreamFactory.cs
- HostProtectionPermission.cs
- StreamInfo.cs
- LogRestartAreaEnumerator.cs
- ZoneButton.cs
- SqlCacheDependencySection.cs
- invalidudtexception.cs
- ButtonBaseDesigner.cs
- MatrixTransform3D.cs
- TextRangeSerialization.cs
- RsaKeyIdentifierClause.cs
- CodeGenerator.cs
- FunctionImportMapping.cs
- DrawingImage.cs
- CustomErrorsSection.cs
- XmlSchemaSubstitutionGroup.cs
- CompositeCollectionView.cs
- HMACSHA1.cs
- FormsAuthenticationTicket.cs
- Lease.cs
- StateItem.cs
- TemplateControlBuildProvider.cs
- DataService.cs
- TimeIntervalCollection.cs
- ExpressionBuilder.cs
- MatcherBuilder.cs
- Calendar.cs
- DesigntimeLicenseContextSerializer.cs
- SiteMembershipCondition.cs
- EventMappingSettingsCollection.cs
- CodeTypeReferenceCollection.cs
- DataRelationPropertyDescriptor.cs
- FixedDocument.cs
- Pen.cs
- Size3DConverter.cs
- OdbcCommandBuilder.cs
- ArrangedElement.cs
- FixedSchema.cs
- BamlResourceDeserializer.cs
- SignatureToken.cs
- DocumentPageViewAutomationPeer.cs
- ManipulationStartingEventArgs.cs
- MessageQueueEnumerator.cs
- SamlDoNotCacheCondition.cs
- _HTTPDateParse.cs
- ComponentEditorForm.cs
- PeerNodeAddress.cs
- DataSourceXmlSerializationAttribute.cs
- CellParaClient.cs
- AmbientProperties.cs
- RegexRunnerFactory.cs
- DesignerWidgets.cs
- IntegerValidatorAttribute.cs
- Assign.cs
- BitmapCache.cs
- GridItemProviderWrapper.cs
- ExpressionHelper.cs
- EllipseGeometry.cs
- Codec.cs
- CachingParameterInspector.cs
- cache.cs
- ErrorTableItemStyle.cs
- GridItem.cs
- ChangePassword.cs
- XmlSchemaProviderAttribute.cs
- TreeIterators.cs
- PriorityBinding.cs
- Point3DCollection.cs
- HyperLinkStyle.cs
- Stream.cs
- ReflectionServiceProvider.cs
- ApplicationException.cs
- WorkflowInspectionServices.cs
- UxThemeWrapper.cs
- Add.cs
- TreeNodeEventArgs.cs
- ISO2022Encoding.cs
- TargetFrameworkAttribute.cs
- ParallelForEach.cs
- UpDownBaseDesigner.cs
- SmtpCommands.cs
- DataGridViewRowHeaderCell.cs
- SqlBuffer.cs