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
- ThumbAutomationPeer.cs
- ActiveDocumentEvent.cs
- ExtensionSimplifierMarkupObject.cs
- QualificationDataItem.cs
- MessageLogTraceRecord.cs
- ScriptingRoleServiceSection.cs
- LogWriteRestartAreaAsyncResult.cs
- ErrorLog.cs
- MethodBody.cs
- TrackingRecord.cs
- WebBrowser.cs
- SafeViewOfFileHandle.cs
- CrossSiteScriptingValidation.cs
- FamilyTypefaceCollection.cs
- TreeView.cs
- DataSourceViewSchemaConverter.cs
- DataBindingExpressionBuilder.cs
- RegexCaptureCollection.cs
- HebrewCalendar.cs
- CodeGen.cs
- AsyncCompletedEventArgs.cs
- WorkItem.cs
- ContextQuery.cs
- StructuredTypeEmitter.cs
- WebRequest.cs
- Evidence.cs
- IDictionary.cs
- EntryWrittenEventArgs.cs
- UnmanagedMemoryStream.cs
- RegexCompilationInfo.cs
- CompatibleComparer.cs
- MultiSelector.cs
- _UncName.cs
- BindableTemplateBuilder.cs
- SafeRightsManagementQueryHandle.cs
- TimeSpanValidatorAttribute.cs
- CodeDOMProvider.cs
- Validator.cs
- AddInProcess.cs
- ClientSideQueueItem.cs
- XmlTextAttribute.cs
- DataGridItem.cs
- _SslState.cs
- Token.cs
- UrlPath.cs
- XmlElementCollection.cs
- InvalidCardException.cs
- CancellationToken.cs
- VisualCollection.cs
- CommandArguments.cs
- QueryContext.cs
- ToolStripItem.cs
- ReturnEventArgs.cs
- TraceContextEventArgs.cs
- SelectorAutomationPeer.cs
- Vector3D.cs
- RightNameExpirationInfoPair.cs
- BamlLocalizableResourceKey.cs
- TraceSource.cs
- ObjectDataSourceStatusEventArgs.cs
- OdbcEnvironment.cs
- FileUtil.cs
- UnsafeMethods.cs
- MultiByteCodec.cs
- AssemblyAttributesGoHere.cs
- SkewTransform.cs
- NotFiniteNumberException.cs
- RequestTimeoutManager.cs
- EntityDataSourceViewSchema.cs
- ServiceReflector.cs
- UpdatePanelTrigger.cs
- MailSettingsSection.cs
- InputDevice.cs
- SubstitutionList.cs
- EdmItemError.cs
- LogSwitch.cs
- CustomServiceCredentials.cs
- WindowsToolbarItemAsMenuItem.cs
- TypedTableBase.cs
- ProcessModelSection.cs
- DirectoryNotFoundException.cs
- ProfileInfo.cs
- CompositionCommandSet.cs
- PropertyValueChangedEvent.cs
- OleDbInfoMessageEvent.cs
- OdbcFactory.cs
- FormsAuthenticationCredentials.cs
- OrderByExpression.cs
- _BaseOverlappedAsyncResult.cs
- SqlAliasesReferenced.cs
- HtmlShim.cs
- GlobalItem.cs
- ReachFixedPageSerializer.cs
- CounterCreationData.cs
- UnicastIPAddressInformationCollection.cs
- TextPenaltyModule.cs
- MailAddress.cs
- CacheSection.cs
- TreeWalker.cs
- AbstractDataSvcMapFileLoader.cs