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
- DocumentViewerBase.cs
- ZoneMembershipCondition.cs
- ResourceManagerWrapper.cs
- ControlBuilder.cs
- GenericTypeParameterBuilder.cs
- SimpleType.cs
- DataServices.cs
- FeatureSupport.cs
- TrustLevelCollection.cs
- CryptoProvider.cs
- KerberosSecurityTokenProvider.cs
- SudsWriter.cs
- CompileXomlTask.cs
- Path.cs
- MILUtilities.cs
- RpcCryptoRequest.cs
- SmiEventStream.cs
- DataTableClearEvent.cs
- CellConstantDomain.cs
- StandardTransformFactory.cs
- XmlArrayItemAttributes.cs
- DeclaredTypeElementCollection.cs
- CustomErrorsSectionWrapper.cs
- QueryOpcode.cs
- HasCopySemanticsAttribute.cs
- EncodingTable.cs
- FrameworkPropertyMetadata.cs
- ConfigXmlSignificantWhitespace.cs
- EntityCommandDefinition.cs
- CanExecuteRoutedEventArgs.cs
- Buffer.cs
- RemotingConfigParser.cs
- WpfKnownType.cs
- IxmlLineInfo.cs
- RadioButton.cs
- DescendantBaseQuery.cs
- TagMapCollection.cs
- NonSerializedAttribute.cs
- TrayIconDesigner.cs
- WebPartEditorApplyVerb.cs
- HMACSHA256.cs
- TrustVersion.cs
- PageParserFilter.cs
- PrimitiveOperationFormatter.cs
- MenuItemBinding.cs
- MatrixConverter.cs
- MouseActionConverter.cs
- FontSizeConverter.cs
- SynchronizationContext.cs
- FixedStringLookup.cs
- ModelTreeEnumerator.cs
- BaseDataList.cs
- ChtmlPhoneCallAdapter.cs
- XsdValidatingReader.cs
- BamlRecordHelper.cs
- MaterialGroup.cs
- ParenthesizePropertyNameAttribute.cs
- SuppressedPackageProperties.cs
- CodeSnippetCompileUnit.cs
- WebHttpSecurity.cs
- XmlSchemaCompilationSettings.cs
- CryptoStream.cs
- ShaderRenderModeValidation.cs
- StreamGeometry.cs
- SharedConnectionWorkflowTransactionService.cs
- DecoderReplacementFallback.cs
- TrackingConditionCollection.cs
- Avt.cs
- Intellisense.cs
- RoutedEventValueSerializer.cs
- ResourceProviderFactory.cs
- Classification.cs
- HtmlGenericControl.cs
- entityreference_tresulttype.cs
- MatrixAnimationUsingPath.cs
- SqlResolver.cs
- WindowsMenu.cs
- DocumentationServerProtocol.cs
- Currency.cs
- InfoCardBaseException.cs
- Version.cs
- MetadataFile.cs
- FileLevelControlBuilderAttribute.cs
- DecoderFallbackWithFailureFlag.cs
- LiteralLink.cs
- ImmutableClientRuntime.cs
- TraceSwitch.cs
- SafeBitVector32.cs
- CustomAttributeFormatException.cs
- Itemizer.cs
- Ref.cs
- ListViewUpdatedEventArgs.cs
- UnsafeNativeMethods.cs
- DesignerActionItemCollection.cs
- ReadOnlyTernaryTree.cs
- Propagator.JoinPropagator.cs
- TransformValueSerializer.cs
- BoolExpression.cs
- HtmlShim.cs
- RIPEMD160.cs