Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Automation / Peers / FrameworkElementAutomationPeer.cs / 1 / FrameworkElementAutomationPeer.cs
using System; 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.Interop; using System.Windows.Media; using System.Windows.Markup; using MS.Internal; using MS.Win32; namespace System.Windows.Automation.Peers { /// public class FrameworkElementAutomationPeer: UIElementAutomationPeer { /// public FrameworkElementAutomationPeer(FrameworkElement owner): base(owner) {} /// protected override string GetAutomationIdCore() { // 1. fetch AutomationProperties.AutomationIdProperty string result = base.GetAutomationIdCore(); if (string.IsNullOrEmpty(result)) { // 2. fetch x:Uid FrameworkElement owner = (FrameworkElement)Owner; result = DefinitionProperties.GetUid(owner); if (string.IsNullOrEmpty(result)) { // 3. fetch FrameworkElement.NameProperty result = owner.Name; } } return result ?? string.Empty; } /// override protected string GetNameCore() { string result = base.GetNameCore(); if (string.IsNullOrEmpty(result)) { AutomationPeer labelAutomationPeer = GetLabeledByCore(); if (labelAutomationPeer != null) result = labelAutomationPeer.GetName(); if (string.IsNullOrEmpty(result)) result = ((FrameworkElement)Owner).GetPlainText(); } return result ?? string.Empty; } /// protected override string GetHelpTextCore() { string result = base.GetHelpTextCore(); if (string.IsNullOrEmpty(result)) { object toolTip = ((FrameworkElement)Owner).ToolTip; if (toolTip != null) { result = toolTip as string; if (string.IsNullOrEmpty(result)) { FrameworkElement toolTipElement = toolTip as FrameworkElement; if (toolTipElement != null) result = toolTipElement.GetPlainText(); } } } return result ?? String.Empty; } /// override protected AutomationPeer GetLabeledByCore() { AutomationPeer labelPeer = base.GetLabeledByCore(); if (labelPeer == null) { Label label = Label.GetLabeledBy(Owner); if (label != null) return label.GetAutomationPeer(); } return null; } } } // 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
- SelectionEditingBehavior.cs
- DataBindingCollectionEditor.cs
- XmlJsonReader.cs
- EtwTrace.cs
- EdmPropertyAttribute.cs
- Underline.cs
- TimeSpan.cs
- Policy.cs
- RecordBuilder.cs
- TableLayout.cs
- RegexCaptureCollection.cs
- LogicalTreeHelper.cs
- ToolTipAutomationPeer.cs
- _AuthenticationState.cs
- Interop.cs
- TreeWalker.cs
- SelectionItemPattern.cs
- Button.cs
- DataBoundControlAdapter.cs
- DelimitedListTraceListener.cs
- PieceNameHelper.cs
- MetaData.cs
- Timeline.cs
- RegexWriter.cs
- InvalidDataException.cs
- XamlReader.cs
- EventBuilder.cs
- HttpBrowserCapabilitiesWrapper.cs
- XmlSchemaGroupRef.cs
- XPathNavigatorReader.cs
- Vector3DCollectionValueSerializer.cs
- AssociationTypeEmitter.cs
- WebConfigurationHost.cs
- TabRenderer.cs
- PrintControllerWithStatusDialog.cs
- Inline.cs
- __ComObject.cs
- QilName.cs
- LineInfo.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- WebPartConnectionsConfigureVerb.cs
- ISFTagAndGuidCache.cs
- ConfigXmlDocument.cs
- TextSelectionProcessor.cs
- SchemaInfo.cs
- GridSplitter.cs
- ParameterCollection.cs
- ThemeDirectoryCompiler.cs
- DescendentsWalkerBase.cs
- NotifyIcon.cs
- MarkupWriter.cs
- ObjectSet.cs
- GatewayDefinition.cs
- AffineTransform3D.cs
- ViewBox.cs
- Stack.cs
- CopyOfAction.cs
- RequestCacheValidator.cs
- MouseOverProperty.cs
- VSWCFServiceContractGenerator.cs
- ResourcesBuildProvider.cs
- DuplexChannel.cs
- ObjectItemAssemblyLoader.cs
- RightsManagementEncryptedStream.cs
- PageClientProxyGenerator.cs
- DataServiceExpressionVisitor.cs
- HtmlMeta.cs
- LineSegment.cs
- XamlRtfConverter.cs
- AutomationTextAttribute.cs
- ProcessHost.cs
- ActiveDocumentEvent.cs
- HttpListenerRequest.cs
- PrintingPermissionAttribute.cs
- ListBoxAutomationPeer.cs
- TextElementAutomationPeer.cs
- DataGridPageChangedEventArgs.cs
- JoinTreeNode.cs
- ParameterExpression.cs
- FlatButtonAppearance.cs
- EdgeProfileValidation.cs
- DiscreteKeyFrames.cs
- ConnectionOrientedTransportChannelListener.cs
- GeneralTransform.cs
- ContentFilePart.cs
- PerspectiveCamera.cs
- DebugHandleTracker.cs
- SpecularMaterial.cs
- PropertySourceInfo.cs
- SerializationAttributes.cs
- RijndaelManagedTransform.cs
- DataBindingCollection.cs
- WrapPanel.cs
- HiddenFieldPageStatePersister.cs
- CachedTypeface.cs
- HttpHandlerAction.cs
- CodeArgumentReferenceExpression.cs
- BulletedList.cs
- CollectionChangedEventManager.cs
- ZipIORawDataFileBlock.cs