Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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 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
- XmlnsCompatibleWithAttribute.cs
- RequestTimeoutManager.cs
- Binding.cs
- SqlConnectionStringBuilder.cs
- XmlCompatibilityReader.cs
- ObjectStateEntryDbDataRecord.cs
- LocatorPartList.cs
- MimeTextImporter.cs
- EmptyTextWriter.cs
- ArrayElementGridEntry.cs
- XmlCompatibilityReader.cs
- ArcSegment.cs
- CustomValidator.cs
- LicenseManager.cs
- XmlReaderDelegator.cs
- RenderOptions.cs
- ParentQuery.cs
- SlotInfo.cs
- DetailsView.cs
- BaseValidator.cs
- XPathNavigatorReader.cs
- ListViewItemEventArgs.cs
- SafeViewOfFileHandle.cs
- ETagAttribute.cs
- StylusOverProperty.cs
- XmlSchemaNotation.cs
- EndpointDiscoveryElement.cs
- ConfigXmlCDataSection.cs
- DataGridViewTextBoxCell.cs
- BamlResourceSerializer.cs
- MexHttpBindingElement.cs
- SettingsContext.cs
- LockRecursionException.cs
- DbParameterCollectionHelper.cs
- ControlBindingsCollection.cs
- Constraint.cs
- UIInitializationException.cs
- httpserverutility.cs
- EntityTypeEmitter.cs
- ComponentConverter.cs
- WebMessageEncodingBindingElement.cs
- ContourSegment.cs
- DataServiceSaveChangesEventArgs.cs
- MailSettingsSection.cs
- DataGridBoolColumn.cs
- HttpBrowserCapabilitiesBase.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- FixedPosition.cs
- XamlSerializer.cs
- GuidelineCollection.cs
- TranslateTransform.cs
- Point4DConverter.cs
- UnsafeNetInfoNativeMethods.cs
- StickyNoteHelper.cs
- TemplateDefinition.cs
- Point.cs
- ColumnHeaderConverter.cs
- DataGridViewSelectedColumnCollection.cs
- CharKeyFrameCollection.cs
- DocumentGridContextMenu.cs
- DirtyTextRange.cs
- Frame.cs
- PieceNameHelper.cs
- BulletedList.cs
- DbDataSourceEnumerator.cs
- OleDbConnectionFactory.cs
- FileReader.cs
- PostBackOptions.cs
- SqlTopReducer.cs
- SqlCharStream.cs
- ImageField.cs
- WebSysDisplayNameAttribute.cs
- UnmanagedMarshal.cs
- PrePrepareMethodAttribute.cs
- SpecularMaterial.cs
- wmiprovider.cs
- BindingCollection.cs
- DataGridTable.cs
- SqlCachedBuffer.cs
- StringComparer.cs
- DynamicILGenerator.cs
- ObjectListDataBindEventArgs.cs
- FormViewDeletedEventArgs.cs
- PropertyGridDesigner.cs
- ByteStack.cs
- VectorKeyFrameCollection.cs
- MultiView.cs
- DispatcherTimer.cs
- SerializerWriterEventHandlers.cs
- RegexRunner.cs
- PlacementWorkspace.cs
- EndEvent.cs
- ChameleonKey.cs
- FolderBrowserDialog.cs
- MetadataCacheItem.cs
- BindableTemplateBuilder.cs
- Property.cs
- PathStreamGeometryContext.cs
- EntitySetBase.cs
- WsdlImporter.cs