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 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.
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
- DataDesignUtil.cs
- SHA256Managed.cs
- ToolStripGripRenderEventArgs.cs
- Type.cs
- HierarchicalDataSourceControl.cs
- FileSystemEnumerable.cs
- TreeChangeInfo.cs
- ToolstripProfessionalRenderer.cs
- RegionData.cs
- ThreadStartException.cs
- OrthographicCamera.cs
- TrackingMemoryStream.cs
- TextOnlyOutput.cs
- AnnotationResourceChangedEventArgs.cs
- SupportingTokenDuplexChannel.cs
- HwndMouseInputProvider.cs
- ControlPager.cs
- BorderGapMaskConverter.cs
- WindowsPrincipal.cs
- NumberFunctions.cs
- Formatter.cs
- TagNameToTypeMapper.cs
- Sentence.cs
- StoryFragments.cs
- CqlParserHelpers.cs
- MenuItem.cs
- FixUpCollection.cs
- AdjustableArrowCap.cs
- InstancePersistenceEvent.cs
- TextElement.cs
- MeasureData.cs
- Win32Native.cs
- StorageRoot.cs
- DirtyTextRange.cs
- ImageBrush.cs
- ILGenerator.cs
- GenericQueueSurrogate.cs
- RunClient.cs
- Pair.cs
- TokenizerHelper.cs
- DateTimeStorage.cs
- MoveSizeWinEventHandler.cs
- FileStream.cs
- ModifierKeysValueSerializer.cs
- EventRouteFactory.cs
- DbConnectionStringCommon.cs
- OrderedDictionary.cs
- ColorAnimation.cs
- FieldNameLookup.cs
- ResourceExpression.cs
- CompilationRelaxations.cs
- ImmutableObjectAttribute.cs
- MetadataPropertyAttribute.cs
- NodeLabelEditEvent.cs
- SQLDateTimeStorage.cs
- TraceLevelStore.cs
- CurrencyWrapper.cs
- DataGridViewColumnCollection.cs
- DataSourceControl.cs
- MetadataItemCollectionFactory.cs
- SQLDoubleStorage.cs
- DataGridTablesFactory.cs
- BulletChrome.cs
- MetadataSection.cs
- PackageRelationshipCollection.cs
- _NestedSingleAsyncResult.cs
- BaseCodePageEncoding.cs
- DataGridViewUtilities.cs
- ProfileModule.cs
- VSWCFServiceContractGenerator.cs
- SID.cs
- EditingCommands.cs
- ConversionValidationRule.cs
- ClientSettings.cs
- HtmlInputImage.cs
- GenerateScriptTypeAttribute.cs
- SafeNativeMethodsCLR.cs
- EntityDesignerDataSourceView.cs
- Color.cs
- BlockUIContainer.cs
- CallId.cs
- input.cs
- HScrollProperties.cs
- DataGridPageChangedEventArgs.cs
- XPathNode.cs
- CultureInfoConverter.cs
- ValidationHelpers.cs
- FixedSOMLineCollection.cs
- SqlStream.cs
- LayeredChannelFactory.cs
- FormViewPagerRow.cs
- ErrorTableItemStyle.cs
- View.cs
- MatrixCamera.cs
- _HeaderInfo.cs
- TemplateEditingVerb.cs
- _Connection.cs
- EnumValidator.cs
- WebScriptEnablingBehavior.cs
- HtmlSelectionListAdapter.cs