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
- _NTAuthentication.cs
- SessionPageStatePersister.cs
- LiteralDesigner.cs
- BrowserCapabilitiesCompiler.cs
- Byte.cs
- Form.cs
- CheckBoxField.cs
- BinaryObjectWriter.cs
- PathSegmentCollection.cs
- StandardOleMarshalObject.cs
- FixedSOMFixedBlock.cs
- documentation.cs
- RoleGroup.cs
- SrgsDocument.cs
- PairComparer.cs
- MappingException.cs
- TransformBlockRequest.cs
- ErrorProvider.cs
- SecurityRuntime.cs
- MarkupProperty.cs
- DbProviderFactory.cs
- DataMember.cs
- WebConfigurationHostFileChange.cs
- GeneratedCodeAttribute.cs
- LocatorManager.cs
- Rfc2898DeriveBytes.cs
- DeriveBytes.cs
- PropertyKey.cs
- TemplatedControlDesigner.cs
- DataSourceExpressionCollection.cs
- HashSet.cs
- ListViewUpdatedEventArgs.cs
- CheckBoxStandardAdapter.cs
- RoleManagerSection.cs
- MenuItemBindingCollection.cs
- Attributes.cs
- MatrixKeyFrameCollection.cs
- ProjectionCamera.cs
- ElementHostPropertyMap.cs
- TimeIntervalCollection.cs
- MessageHeader.cs
- AlternateView.cs
- SymbolMethod.cs
- AddInContractAttribute.cs
- BitmapInitialize.cs
- SoapAttributeOverrides.cs
- CoreSwitches.cs
- ConfigurationException.cs
- UpdateManifestForBrowserApplication.cs
- PeerContact.cs
- ValuePatternIdentifiers.cs
- PageParserFilter.cs
- DrawListViewItemEventArgs.cs
- XamlTemplateSerializer.cs
- DataGridColumnCollection.cs
- MultiViewDesigner.cs
- XmlNamespaceMappingCollection.cs
- DBConnection.cs
- TableLayoutSettings.cs
- CacheVirtualItemsEvent.cs
- DirectoryRedirect.cs
- DataRowComparer.cs
- DeferredElementTreeState.cs
- Tokenizer.cs
- X509Certificate.cs
- ImageDesigner.cs
- RichListBox.cs
- RangeValueProviderWrapper.cs
- AssociationSetMetadata.cs
- AuthStoreRoleProvider.cs
- odbcmetadatafactory.cs
- ZipIOLocalFileHeader.cs
- AsnEncodedData.cs
- OracleTimeSpan.cs
- SessionStateModule.cs
- SourceLineInfo.cs
- CancelEventArgs.cs
- CounterSet.cs
- TypefaceCollection.cs
- documentsequencetextview.cs
- PopupEventArgs.cs
- InheritanceContextHelper.cs
- ReadOnlyHierarchicalDataSource.cs
- XamlSerializationHelper.cs
- NoPersistScope.cs
- AutoGeneratedFieldProperties.cs
- TextEmbeddedObject.cs
- shaper.cs
- hresults.cs
- UnaryNode.cs
- WrappedIUnknown.cs
- FormatException.cs
- AutomationEventArgs.cs
- SqlColumnizer.cs
- ColumnReorderedEventArgs.cs
- webbrowsersite.cs
- hebrewshape.cs
- QuaternionAnimation.cs
- nulltextnavigator.cs
- SpinLock.cs