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
- mda.cs
- ExpressionBuilderContext.cs
- TraceSwitch.cs
- StaticDataManager.cs
- PasswordBoxAutomationPeer.cs
- ExceptionHelpers.cs
- RemoteWebConfigurationHostStream.cs
- NativeMethods.cs
- CompoundFileDeflateTransform.cs
- OverflowException.cs
- TextFormatterHost.cs
- TypeConverters.cs
- ResourceReferenceExpression.cs
- ReadOnlyAttribute.cs
- NonClientArea.cs
- xmlfixedPageInfo.cs
- SizeAnimation.cs
- Exceptions.cs
- EntityObject.cs
- EnumerationRangeValidationUtil.cs
- DocumentViewerBase.cs
- SqlCacheDependency.cs
- TextEditorTables.cs
- ListViewSelectEventArgs.cs
- RotateTransform.cs
- ProcessModelSection.cs
- DesignSurfaceCollection.cs
- SID.cs
- ImageMap.cs
- DbParameterHelper.cs
- TextProperties.cs
- StrongName.cs
- MenuEventArgs.cs
- StrongNameKeyPair.cs
- TraceEventCache.cs
- ResizeBehavior.cs
- TrackingProfileDeserializationException.cs
- InternalConfigEventArgs.cs
- ComponentFactoryHelpers.cs
- FileUtil.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- BitmapEffectCollection.cs
- ValidatingReaderNodeData.cs
- InvalidPipelineStoreException.cs
- ReferenceConverter.cs
- ToolBarTray.cs
- ExpressionQuoter.cs
- Console.cs
- SoapIgnoreAttribute.cs
- RefreshPropertiesAttribute.cs
- cache.cs
- ObjectDataSourceDisposingEventArgs.cs
- AsyncDataRequest.cs
- StrokeCollectionConverter.cs
- TextTreeDeleteContentUndoUnit.cs
- BaseResourcesBuildProvider.cs
- DBNull.cs
- CollectionBase.cs
- OracleEncoding.cs
- Typeface.cs
- DictionaryManager.cs
- CursorInteropHelper.cs
- StringBuilder.cs
- MonthCalendar.cs
- ColorConverter.cs
- HtmlFormParameterReader.cs
- PointLight.cs
- DataReceivedEventArgs.cs
- DataGridCaption.cs
- InstallerTypeAttribute.cs
- LicenseManager.cs
- ResourcePermissionBase.cs
- TdsEnums.cs
- Matrix.cs
- TextFormatter.cs
- ProtocolsSection.cs
- Size3DConverter.cs
- ListViewInsertionMark.cs
- AssemblyInfo.cs
- XmlConvert.cs
- Rect3D.cs
- ProfessionalColors.cs
- ToolStripContentPanelRenderEventArgs.cs
- StatusBar.cs
- WebServiceFaultDesigner.cs
- PackagePart.cs
- SHA384.cs
- CompressEmulationStream.cs
- UpdateTracker.cs
- GrammarBuilderBase.cs
- TextEditorParagraphs.cs
- SettingsPropertyWrongTypeException.cs
- TemplateBuilder.cs
- LocalTransaction.cs
- PathSegmentCollection.cs
- SafeLibraryHandle.cs
- PropertyReferenceSerializer.cs
- SoapObjectWriter.cs
- PresentationTraceSources.cs
- SnapshotChangeTrackingStrategy.cs