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
- ColorInterpolationModeValidation.cs
- DSASignatureFormatter.cs
- StringPropertyBuilder.cs
- PersonalizationDictionary.cs
- WsatEtwTraceListener.cs
- GridViewSelectEventArgs.cs
- EmissiveMaterial.cs
- _TimerThread.cs
- RolePrincipal.cs
- SrgsElementFactory.cs
- ToolStripItemCollection.cs
- XPathNavigatorReader.cs
- FixedFlowMap.cs
- CqlGenerator.cs
- AuthenticationService.cs
- MenuAdapter.cs
- PointAnimationClockResource.cs
- AsyncOperationLifetimeManager.cs
- CorrelationManager.cs
- ConfigXmlElement.cs
- EventLogPropertySelector.cs
- SystemResourceHost.cs
- AsyncResult.cs
- ObjectTypeMapping.cs
- DaylightTime.cs
- HyperLinkDataBindingHandler.cs
- Line.cs
- FloaterParagraph.cs
- UncommonField.cs
- FacetValueContainer.cs
- XmlDictionary.cs
- WebPartsPersonalization.cs
- WebProxyScriptElement.cs
- DtrList.cs
- Missing.cs
- isolationinterop.cs
- CodeTypeOfExpression.cs
- InkPresenter.cs
- input.cs
- ErrorFormatter.cs
- DbBuffer.cs
- NamespaceList.cs
- SessionState.cs
- StreamInfo.cs
- DataSourceControl.cs
- WebPartManager.cs
- WinFormsSpinner.cs
- ListViewInsertEventArgs.cs
- TraceSection.cs
- ResourceProviderFactory.cs
- SimpleHandlerFactory.cs
- MarshalByRefObject.cs
- ThumbAutomationPeer.cs
- TemplateControlBuildProvider.cs
- ListViewUpdateEventArgs.cs
- BigInt.cs
- CodePageUtils.cs
- OpenTypeCommon.cs
- ResourcePermissionBaseEntry.cs
- MasterPageParser.cs
- RenderCapability.cs
- ObjectViewQueryResultData.cs
- XmlReflectionImporter.cs
- InnerItemCollectionView.cs
- ContainerFilterService.cs
- Keyboard.cs
- IndicFontClient.cs
- FlowNode.cs
- PropertyContainer.cs
- InvalidOleVariantTypeException.cs
- SettingsBase.cs
- AppDomainShutdownMonitor.cs
- TextServicesContext.cs
- StoreUtilities.cs
- Int32CollectionConverter.cs
- HttpContextServiceHost.cs
- StrongNameIdentityPermission.cs
- ActivityStatusChangeEventArgs.cs
- ListViewInsertedEventArgs.cs
- BinaryNode.cs
- XmlSchemaSimpleTypeUnion.cs
- SingletonInstanceContextProvider.cs
- RegexCaptureCollection.cs
- RepeaterItemEventArgs.cs
- SignatureHelper.cs
- RootProfilePropertySettingsCollection.cs
- UIElement3D.cs
- AggregateException.cs
- DataGridRelationshipRow.cs
- EncryptedPackageFilter.cs
- WizardPanelChangingEventArgs.cs
- Timeline.cs
- OleDbStruct.cs
- ManualResetEvent.cs
- TemplatedMailWebEventProvider.cs
- ScriptHandlerFactory.cs
- PathSegmentCollection.cs
- WindowsHyperlink.cs
- EventItfInfo.cs
- MultiSelector.cs