Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Automation / Peers / FrameworkElementAutomationPeer.cs / 2 / 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
- ActiveDesignSurfaceEvent.cs
- PropertyMetadata.cs
- DefaultBinder.cs
- SiteMapProvider.cs
- IndexOutOfRangeException.cs
- ThaiBuddhistCalendar.cs
- TemplateEditingService.cs
- SecureUICommand.cs
- DataGridHeaderBorder.cs
- XamlPoint3DCollectionSerializer.cs
- FontSizeConverter.cs
- StringToken.cs
- Utils.cs
- XmlStreamedByteStreamReader.cs
- NTAccount.cs
- IndexedEnumerable.cs
- ChangeConflicts.cs
- HtmlInputImage.cs
- TextBox.cs
- SegmentInfo.cs
- PixelFormats.cs
- ReflectionPermission.cs
- CharConverter.cs
- SpanIndex.cs
- XsdDateTime.cs
- Screen.cs
- ArraySegment.cs
- WindowsTooltip.cs
- DragAssistanceManager.cs
- ComponentManagerBroker.cs
- EntitySqlException.cs
- DSASignatureFormatter.cs
- DnsEndPoint.cs
- CallbackValidator.cs
- MailAddressCollection.cs
- DefaultValueTypeConverter.cs
- StringKeyFrameCollection.cs
- WebException.cs
- OdbcConnectionPoolProviderInfo.cs
- ExpressionPrinter.cs
- RightsManagementManager.cs
- XmlChildEnumerator.cs
- sqlser.cs
- LocalizeDesigner.cs
- ZipPackagePart.cs
- LOSFormatter.cs
- RegexTree.cs
- ColorConverter.cs
- TextTreeTextElementNode.cs
- MetadataElement.cs
- RoleService.cs
- NoResizeHandleGlyph.cs
- RegistryConfigurationProvider.cs
- Token.cs
- ParseNumbers.cs
- _DomainName.cs
- DecoderBestFitFallback.cs
- VectorConverter.cs
- ToolStripDropTargetManager.cs
- ObjectToken.cs
- CodeLabeledStatement.cs
- SystemBrushes.cs
- HttpProfileBase.cs
- CodeExporter.cs
- SqlNodeTypeOperators.cs
- ServiceProviders.cs
- ConfigurationValidatorAttribute.cs
- InsufficientMemoryException.cs
- XmlWrappingReader.cs
- ProcessHostConfigUtils.cs
- ToolboxComponentsCreatingEventArgs.cs
- ApplicationServicesHostFactory.cs
- HtmlTableCellCollection.cs
- ExecutionContext.cs
- AddressingVersion.cs
- DataTransferEventArgs.cs
- XsltInput.cs
- DispatcherOperation.cs
- Stack.cs
- ConfigUtil.cs
- _ConnectOverlappedAsyncResult.cs
- PointHitTestResult.cs
- ControlType.cs
- SystemEvents.cs
- SafeBitVector32.cs
- SpellCheck.cs
- HttpProfileBase.cs
- DecimalAnimation.cs
- EntityTemplateUserControl.cs
- ACL.cs
- SafeFileHandle.cs
- DataContract.cs
- GregorianCalendarHelper.cs
- OleDbException.cs
- SpecialFolderEnumConverter.cs
- SingleResultAttribute.cs
- Latin1Encoding.cs
- HtmlPhoneCallAdapter.cs
- path.cs
- GifBitmapEncoder.cs