Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- TableCellCollection.cs
- SynchronizedDispatch.cs
- SelectionRange.cs
- AttachmentCollection.cs
- StaticExtensionConverter.cs
- FontWeightConverter.cs
- WindowInteropHelper.cs
- DataMisalignedException.cs
- QuaternionRotation3D.cs
- ReaderOutput.cs
- ObjectParameterCollection.cs
- DerivedKeySecurityTokenStub.cs
- ActiveXContainer.cs
- EntryIndex.cs
- XPathLexer.cs
- XMLUtil.cs
- ToolStripItemRenderEventArgs.cs
- AssemblyCache.cs
- TreeNodeEventArgs.cs
- TraceHelpers.cs
- BinaryKeyIdentifierClause.cs
- SchemaTypeEmitter.cs
- InkCanvasAutomationPeer.cs
- InfocardChannelParameter.cs
- ExpressionDumper.cs
- CharacterBufferReference.cs
- ProgressBarRenderer.cs
- XamlToRtfWriter.cs
- RadioButtonBaseAdapter.cs
- AggregationMinMaxHelpers.cs
- XmlSerializationWriter.cs
- XmlSchemaAttribute.cs
- FloaterParagraph.cs
- Emitter.cs
- WindowVisualStateTracker.cs
- BaseConfigurationRecord.cs
- RawStylusActions.cs
- SqlFunctionAttribute.cs
- SizeAnimation.cs
- VirtualizingPanel.cs
- TemplateKey.cs
- BitmapEffectrendercontext.cs
- AttributeCollection.cs
- Rules.cs
- TimeZoneNotFoundException.cs
- HtmlEncodedRawTextWriter.cs
- TreeViewTemplateSelector.cs
- UncommonField.cs
- AuthenticationServiceManager.cs
- LogExtentCollection.cs
- TypeUtil.cs
- DesignerActionPropertyItem.cs
- Object.cs
- SurrogateChar.cs
- PassportAuthenticationModule.cs
- ProcessModelSection.cs
- ListenUriMode.cs
- DBPropSet.cs
- CustomValidator.cs
- SingleQueryOperator.cs
- DragDeltaEventArgs.cs
- SoapExtensionImporter.cs
- CqlParser.cs
- UserPreferenceChangedEventArgs.cs
- RegexCapture.cs
- TimelineGroup.cs
- RenderDataDrawingContext.cs
- Screen.cs
- ConfigXmlReader.cs
- Size.cs
- RotateTransform.cs
- CellQuery.cs
- ToolTip.cs
- Stopwatch.cs
- ThrowHelper.cs
- _Events.cs
- FileDialog.cs
- StoreItemCollection.Loader.cs
- _Rfc2616CacheValidators.cs
- DataTransferEventArgs.cs
- graph.cs
- SkinBuilder.cs
- TableColumn.cs
- XamlPoint3DCollectionSerializer.cs
- MonthCalendar.cs
- X509ServiceCertificateAuthentication.cs
- InstanceStoreQueryResult.cs
- GeneralTransform.cs
- SystemDiagnosticsSection.cs
- DomainUpDown.cs
- IEnumerable.cs
- CustomGrammar.cs
- NetSectionGroup.cs
- MD5CryptoServiceProvider.cs
- AuthenticationService.cs
- UnsafeNativeMethodsTablet.cs
- XD.cs
- WebPartConnectionsCancelVerb.cs
- TypeInfo.cs
- OleDbException.cs