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
- CachingHintValidation.cs
- DoubleLinkList.cs
- Latin1Encoding.cs
- ArrayConverter.cs
- TableLayoutPanelCellPosition.cs
- StringStorage.cs
- InternalDispatchObject.cs
- MissingSatelliteAssemblyException.cs
- Double.cs
- KeyboardEventArgs.cs
- OneOfTypeConst.cs
- FormViewPagerRow.cs
- SchemaImporterExtensionElementCollection.cs
- FieldAccessException.cs
- CodeObject.cs
- DecimalConstantAttribute.cs
- InkCanvasInnerCanvas.cs
- clipboard.cs
- OleDbCommandBuilder.cs
- hwndwrapper.cs
- Context.cs
- NativeMethods.cs
- WebScriptEnablingBehavior.cs
- ObjectDataSourceDisposingEventArgs.cs
- SessionStateModule.cs
- FormsAuthenticationConfiguration.cs
- SearchExpression.cs
- DecimalConstantAttribute.cs
- CheckedPointers.cs
- EdmValidator.cs
- TextParaClient.cs
- nulltextcontainer.cs
- Sql8ExpressionRewriter.cs
- SecurityCriticalDataForSet.cs
- DataPagerField.cs
- Base64Encoder.cs
- TextProperties.cs
- SourceFilter.cs
- backend.cs
- MultiViewDesigner.cs
- Positioning.cs
- NumericUpDownAcceleration.cs
- DbProviderSpecificTypePropertyAttribute.cs
- ITextView.cs
- DataList.cs
- Condition.cs
- WebConfigurationHost.cs
- BmpBitmapEncoder.cs
- ButtonChrome.cs
- AliasedExpr.cs
- Token.cs
- SoapIncludeAttribute.cs
- CodeMemberMethod.cs
- SelectorAutomationPeer.cs
- AddInServer.cs
- rsa.cs
- WebPartConnectionsConfigureVerb.cs
- WhitespaceRule.cs
- SqlBuffer.cs
- ImageSourceConverter.cs
- SHA1Cng.cs
- FixedSOMPageConstructor.cs
- BCLDebug.cs
- BoundColumn.cs
- ConnectionStringsExpressionBuilder.cs
- odbcmetadatacolumnnames.cs
- RepeatBehavior.cs
- AlphabeticalEnumConverter.cs
- MatrixValueSerializer.cs
- HebrewNumber.cs
- TextDecorationLocationValidation.cs
- MatrixAnimationUsingPath.cs
- RsaEndpointIdentity.cs
- DataGridViewComboBoxEditingControl.cs
- PriorityChain.cs
- ConfigXmlComment.cs
- DataServiceContext.cs
- Subset.cs
- Adorner.cs
- KeyTimeConverter.cs
- PersonalizableAttribute.cs
- DiagnosticsConfigurationHandler.cs
- TogglePattern.cs
- Timer.cs
- SqlSelectStatement.cs
- EventItfInfo.cs
- SizeValueSerializer.cs
- Quaternion.cs
- ProcessHostFactoryHelper.cs
- PageBorderless.cs
- XmlSchemaAppInfo.cs
- PtsCache.cs
- ImageAutomationPeer.cs
- OutOfProcStateClientManager.cs
- DesignerOptionService.cs
- LinkedResourceCollection.cs
- PropertyPathWorker.cs
- XmlSchemaSimpleContentExtension.cs
- InvalidProgramException.cs
- SQLMembershipProvider.cs