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
- PopupControlService.cs
- _ShellExpression.cs
- FormViewInsertEventArgs.cs
- DataGridViewCellPaintingEventArgs.cs
- TickBar.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- KeyManager.cs
- PrePostDescendentsWalker.cs
- OrderByLifter.cs
- KeyValuePairs.cs
- XamlRtfConverter.cs
- StreamGeometry.cs
- unsafeIndexingFilterStream.cs
- VisualStateGroup.cs
- FontFamily.cs
- SqlNodeAnnotation.cs
- AspNetCacheProfileAttribute.cs
- Debug.cs
- AssertSection.cs
- GiveFeedbackEvent.cs
- XmlQueryType.cs
- CheckBoxFlatAdapter.cs
- TextUtf8RawTextWriter.cs
- DataGridViewTextBoxCell.cs
- GridViewPageEventArgs.cs
- Serializer.cs
- JournalEntry.cs
- OutgoingWebResponseContext.cs
- SessionIDManager.cs
- SymbolEqualComparer.cs
- GenerateTemporaryTargetAssembly.cs
- TemplatedWizardStep.cs
- WindowsListViewItemCheckBox.cs
- MutexSecurity.cs
- WebConfigurationHostFileChange.cs
- FilteredReadOnlyMetadataCollection.cs
- TableLayoutCellPaintEventArgs.cs
- ImageSourceConverter.cs
- TriggerActionCollection.cs
- XmlNamedNodeMap.cs
- PropertyPath.cs
- FillRuleValidation.cs
- MultipartIdentifier.cs
- StandardRuntimeEnumValidator.cs
- AudioStateChangedEventArgs.cs
- XamlDesignerSerializationManager.cs
- DashStyle.cs
- Int32.cs
- PropertyToken.cs
- GeneralTransform.cs
- NegotiateStream.cs
- VideoDrawing.cs
- ResourceContainer.cs
- HostedElements.cs
- ProfileManager.cs
- recordstatescratchpad.cs
- Pen.cs
- XPathExpr.cs
- RestClientProxyHandler.cs
- LogEntryUtils.cs
- LoginDesigner.cs
- BindingExpressionBase.cs
- OptimizedTemplateContent.cs
- Imaging.cs
- SqlDelegatedTransaction.cs
- DataSourceControlBuilder.cs
- XmlEncodedRawTextWriter.cs
- DataGridTextBox.cs
- ContractMapping.cs
- DataGridColumnFloatingHeader.cs
- TraceFilter.cs
- TextParagraphView.cs
- MemberAccessException.cs
- FlowNode.cs
- ResourceAssociationSet.cs
- WebPartActionVerb.cs
- TempEnvironment.cs
- ViewDesigner.cs
- DictionaryItemsCollection.cs
- BitmapFrame.cs
- RectIndependentAnimationStorage.cs
- GridItemProviderWrapper.cs
- CapabilitiesUse.cs
- DBProviderConfigurationHandler.cs
- MILUtilities.cs
- HttpInputStream.cs
- httpstaticobjectscollection.cs
- __Error.cs
- UrlMapping.cs
- MachineKeyConverter.cs
- TypeTypeConverter.cs
- RTLAwareMessageBox.cs
- ChannelPoolSettingsElement.cs
- ZipIOLocalFileDataDescriptor.cs
- Ref.cs
- FormViewDeleteEventArgs.cs
- ListDictionaryInternal.cs
- ProvidersHelper.cs
- WithParamAction.cs
- DuplicateContext.cs