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
- BufferedReadStream.cs
- BaseProcessor.cs
- SafeNativeMethods.cs
- HWStack.cs
- MenuAdapter.cs
- MessageQueue.cs
- NotSupportedException.cs
- InvokeSchedule.cs
- ImageResources.Designer.cs
- SQLInt32Storage.cs
- Parameter.cs
- SchemaTypeEmitter.cs
- SqlDeflator.cs
- CompositeDataBoundControl.cs
- TypeSystemHelpers.cs
- _ConnectionGroup.cs
- MultiByteCodec.cs
- PagedDataSource.cs
- RedistVersionInfo.cs
- UniqueEventHelper.cs
- ModelUtilities.cs
- RowToFieldTransformer.cs
- NamespaceCollection.cs
- JsonCollectionDataContract.cs
- IntegerCollectionEditor.cs
- DesignerGeometryHelper.cs
- ValidationErrorInfo.cs
- HexParser.cs
- ButtonBase.cs
- WinEventQueueItem.cs
- TreeBuilderBamlTranslator.cs
- DateTimeValueSerializerContext.cs
- DefaultObjectMappingItemCollection.cs
- HMACSHA256.cs
- DataGridPagerStyle.cs
- Types.cs
- webeventbuffer.cs
- FixedBufferAttribute.cs
- PngBitmapEncoder.cs
- SQLResource.cs
- BinHexDecoder.cs
- UpdatePanelTriggerCollection.cs
- BaseCodeDomTreeGenerator.cs
- DetailsViewPageEventArgs.cs
- DataBoundLiteralControl.cs
- BadImageFormatException.cs
- VersionConverter.cs
- SchemaElementLookUpTableEnumerator.cs
- SerialErrors.cs
- DocumentViewerHelper.cs
- PopupEventArgs.cs
- EntityDataSourceDataSelection.cs
- AudioFormatConverter.cs
- LogicalTreeHelper.cs
- FormatException.cs
- WebResponse.cs
- CommandField.cs
- NavigationHelper.cs
- Verify.cs
- SettingsProviderCollection.cs
- StrokeNodeOperations.cs
- ReachVisualSerializerAsync.cs
- PageAdapter.cs
- MenuItemBinding.cs
- FormViewRow.cs
- X509CertificateChain.cs
- OptimalTextSource.cs
- BasicCellRelation.cs
- DefaultValueAttribute.cs
- CatalogPartCollection.cs
- Operators.cs
- AttributeSetAction.cs
- XmlByteStreamReader.cs
- XslCompiledTransform.cs
- Substitution.cs
- FileAuthorizationModule.cs
- GenericEnumerator.cs
- StateItem.cs
- DbMetaDataCollectionNames.cs
- CodeDomConfigurationHandler.cs
- ContravarianceAdapter.cs
- BitmapData.cs
- FrameworkReadOnlyPropertyMetadata.cs
- RTLAwareMessageBox.cs
- DoubleAnimationBase.cs
- ContentFilePart.cs
- SqlEnums.cs
- EnumerableCollectionView.cs
- PageContentAsyncResult.cs
- ValidatorCompatibilityHelper.cs
- EntryIndex.cs
- DropDownList.cs
- DbProviderServices.cs
- MenuBindingsEditorForm.cs
- AsymmetricKeyExchangeFormatter.cs
- TagPrefixInfo.cs
- PrinterUnitConvert.cs
- FormViewRow.cs
- WindowsRegion.cs
- HeaderCollection.cs