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
- SafeArrayTypeMismatchException.cs
- BinaryObjectInfo.cs
- IisTraceListener.cs
- ContentTextAutomationPeer.cs
- Page.cs
- HostingEnvironmentException.cs
- __Filters.cs
- FileDataSourceCache.cs
- BindingWorker.cs
- ProcessHostMapPath.cs
- BrowsableAttribute.cs
- PresentationTraceSources.cs
- Registration.cs
- DynamicDiscoveryDocument.cs
- ControlUtil.cs
- LabelLiteral.cs
- SafeProcessHandle.cs
- UIPropertyMetadata.cs
- FileSystemInfo.cs
- ReachDocumentReferenceSerializer.cs
- MulticastDelegate.cs
- Crypto.cs
- HttpDictionary.cs
- FixedLineResult.cs
- SettingsPropertyCollection.cs
- SelectedGridItemChangedEvent.cs
- FromRequest.cs
- DropTarget.cs
- ListViewSelectEventArgs.cs
- CloudCollection.cs
- ClientTargetSection.cs
- TargetControlTypeCache.cs
- ToolStripComboBox.cs
- DefaultProxySection.cs
- FileRecordSequenceHelper.cs
- DomainUpDown.cs
- CellTreeNode.cs
- ClientProxyGenerator.cs
- FocusTracker.cs
- CorrelationManager.cs
- GeneralTransformCollection.cs
- AxisAngleRotation3D.cs
- EventLogRecord.cs
- CompareValidator.cs
- SQLMoney.cs
- AttributeParameterInfo.cs
- DBPropSet.cs
- LassoSelectionBehavior.cs
- AdapterDictionary.cs
- MenuCommandsChangedEventArgs.cs
- SlotInfo.cs
- ToolStripDropDownClosedEventArgs.cs
- BoolExpressionVisitors.cs
- GlyphRunDrawing.cs
- AsyncStreamReader.cs
- WebDisplayNameAttribute.cs
- ResourceDisplayNameAttribute.cs
- WebPartZoneCollection.cs
- ResXDataNode.cs
- SafeSecurityHandles.cs
- XXXOnTypeBuilderInstantiation.cs
- XPathDocumentBuilder.cs
- Int64KeyFrameCollection.cs
- ContentElementAutomationPeer.cs
- CompoundFileDeflateTransform.cs
- BitSet.cs
- DragCompletedEventArgs.cs
- ADMembershipUser.cs
- Debug.cs
- UdpDuplexChannel.cs
- AsyncResult.cs
- DrawingGroup.cs
- MessageAction.cs
- CssStyleCollection.cs
- PasswordRecovery.cs
- RunClient.cs
- Compiler.cs
- InfoCardCryptoHelper.cs
- TraceUtility.cs
- RecommendedAsConfigurableAttribute.cs
- FrameSecurityDescriptor.cs
- TypeValidationEventArgs.cs
- XmlRootAttribute.cs
- ObjectListGeneralPage.cs
- NamedElement.cs
- ResourceDisplayNameAttribute.cs
- ValidationError.cs
- ExpressionBinding.cs
- CodeDirectoryCompiler.cs
- XmlObjectSerializerContext.cs
- DataGridDesigner.cs
- InkSerializer.cs
- Lookup.cs
- HtmlLink.cs
- DataControlLinkButton.cs
- ProxyFragment.cs
- PeerNameResolver.cs
- Matrix3D.cs
- QueryPageSettingsEventArgs.cs
- SizeValueSerializer.cs