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 / 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 = Owner.Uid; 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. 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 = Owner.Uid; 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
- RemotingServices.cs
- LookupBindingPropertiesAttribute.cs
- XmlUrlResolver.cs
- MenuTracker.cs
- SortedList.cs
- StylusDownEventArgs.cs
- ListChangedEventArgs.cs
- CodeDomDesignerLoader.cs
- SigningCredentials.cs
- SchemaContext.cs
- CookieProtection.cs
- DnsPermission.cs
- MimeReflector.cs
- FontFamilyValueSerializer.cs
- AcceleratedTokenAuthenticator.cs
- _SafeNetHandles.cs
- HtmlHistory.cs
- BamlVersionHeader.cs
- TypeTypeConverter.cs
- TableCellCollection.cs
- EventMappingSettings.cs
- ArgumentException.cs
- DoubleLinkListEnumerator.cs
- WmfPlaceableFileHeader.cs
- ColorConverter.cs
- ClientUtils.cs
- SystemParameters.cs
- CreateUserWizardStep.cs
- WeakEventManager.cs
- DtdParser.cs
- BufferedStream.cs
- GenericRootAutomationPeer.cs
- DateTimeStorage.cs
- StackSpiller.Temps.cs
- FormsAuthentication.cs
- GeneralTransform3D.cs
- PropertyChangeTracker.cs
- FixedPosition.cs
- StatusStrip.cs
- IPGlobalProperties.cs
- PkcsUtils.cs
- BinaryParser.cs
- BamlTreeMap.cs
- ControlEvent.cs
- Border.cs
- XPathSelfQuery.cs
- DataGridViewElement.cs
- TextRange.cs
- xml.cs
- ControlValuePropertyAttribute.cs
- SqlDependency.cs
- SmtpFailedRecipientsException.cs
- EntityFunctions.cs
- AccessViolationException.cs
- UnregisterInfo.cs
- EntityWrapperFactory.cs
- HeaderElement.cs
- ForEachAction.cs
- EntitySqlQueryCacheKey.cs
- ComponentChangingEvent.cs
- SiteMapProvider.cs
- GPPOINTF.cs
- RijndaelManaged.cs
- LocatorPart.cs
- CryptographicAttribute.cs
- RoleGroup.cs
- ClientUrlResolverWrapper.cs
- InstanceHandleConflictException.cs
- InitiatorSessionSymmetricMessageSecurityProtocol.cs
- SuppressMergeCheckAttribute.cs
- DataGridPageChangedEventArgs.cs
- ContainerFilterService.cs
- CodeAttachEventStatement.cs
- XmlAttributeAttribute.cs
- FrameworkContextData.cs
- EntityCommandExecutionException.cs
- BitmapEffectGeneralTransform.cs
- PointAnimationUsingKeyFrames.cs
- Material.cs
- DynamicResourceExtensionConverter.cs
- Operand.cs
- CellTreeSimplifier.cs
- EnumerableRowCollection.cs
- XsltArgumentList.cs
- HttpFileCollectionBase.cs
- TableDetailsCollection.cs
- ReferencedType.cs
- SQLDouble.cs
- WorkflowQueueInfo.cs
- DynamicRenderer.cs
- XsdCachingReader.cs
- XmlEncoding.cs
- FieldDescriptor.cs
- XmlUtf8RawTextWriter.cs
- externdll.cs
- ExpressionReplacer.cs
- BitmapFrame.cs
- SiteMapProvider.cs
- HttpTransportSecurity.cs
- SpecularMaterial.cs