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 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
- DeviceOverridableAttribute.cs
- ListControl.cs
- SslSecurityTokenParameters.cs
- WorkflowServiceHostFactory.cs
- AppDomainGrammarProxy.cs
- InternalCache.cs
- ObjectPropertyMapping.cs
- ObjectAnimationUsingKeyFrames.cs
- RuleInfoComparer.cs
- PropertyGridView.cs
- URL.cs
- FontFaceLayoutInfo.cs
- AuthorizationContext.cs
- ListViewHitTestInfo.cs
- AdjustableArrowCap.cs
- TransformProviderWrapper.cs
- CrossContextChannel.cs
- PropertyEmitter.cs
- QilGenerator.cs
- Compiler.cs
- EventDescriptor.cs
- WindowsToolbar.cs
- GenericAuthenticationEventArgs.cs
- ModuleElement.cs
- AnimatedTypeHelpers.cs
- TraceSource.cs
- DrawListViewColumnHeaderEventArgs.cs
- FileLevelControlBuilderAttribute.cs
- HttpServerUtilityBase.cs
- FormsAuthenticationConfiguration.cs
- StateBag.cs
- WindowsBrush.cs
- JavaScriptObjectDeserializer.cs
- TagMapCollection.cs
- WorkflowOperationBehavior.cs
- TableItemProviderWrapper.cs
- XdrBuilder.cs
- PassportAuthenticationEventArgs.cs
- PerformanceCounterNameAttribute.cs
- ToolStripLocationCancelEventArgs.cs
- TdsParserSessionPool.cs
- SmtpFailedRecipientException.cs
- GenericXmlSecurityTokenAuthenticator.cs
- ExportException.cs
- MetadataSerializer.cs
- TextControlDesigner.cs
- FragmentQueryProcessor.cs
- InternalBufferManager.cs
- MediaContextNotificationWindow.cs
- NotifyCollectionChangedEventArgs.cs
- SqlDataSourceConfigureSelectPanel.cs
- CalendarDay.cs
- SpeechSeg.cs
- BasicHttpBinding.cs
- RegistrationContext.cs
- GeometryDrawing.cs
- FreeIndexList.cs
- __ConsoleStream.cs
- AspCompat.cs
- FixedSchema.cs
- _SpnDictionary.cs
- StringComparer.cs
- InternalsVisibleToAttribute.cs
- NetworkInterface.cs
- baseaxisquery.cs
- ExtractedStateEntry.cs
- ZipPackagePart.cs
- AvTraceDetails.cs
- Dictionary.cs
- DesignerActionService.cs
- GifBitmapEncoder.cs
- TileBrush.cs
- DrawingGroupDrawingContext.cs
- WindowsEditBoxRange.cs
- Tool.cs
- DrawingBrush.cs
- CompositionTarget.cs
- AppSettingsExpressionBuilder.cs
- TypeUsage.cs
- IntegerValidatorAttribute.cs
- Trigger.cs
- TimelineGroup.cs
- ModuleConfigurationInfo.cs
- XpsFixedDocumentReaderWriter.cs
- ProxyGenerationError.cs
- ValidationSummary.cs
- PackageProperties.cs
- CaseStatement.cs
- DiagnosticTrace.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- counter.cs
- IdentityNotMappedException.cs
- FixedSOMPageConstructor.cs
- PeekCompletedEventArgs.cs
- Module.cs
- COAUTHINFO.cs
- HwndMouseInputProvider.cs
- SchemaDeclBase.cs
- SendMailErrorEventArgs.cs
- SafeArrayRankMismatchException.cs