Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- RoleManagerSection.cs
- BufferedGraphics.cs
- CodeTypeDeclarationCollection.cs
- QuaternionAnimation.cs
- CursorConverter.cs
- XMLUtil.cs
- DataServices.cs
- TreeWalkHelper.cs
- TypedRowHandler.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- LoginUtil.cs
- NotConverter.cs
- HostingEnvironment.cs
- PropertyGridCommands.cs
- XmlDataProvider.cs
- SqlConnectionStringBuilder.cs
- DocumentPaginator.cs
- EncryptedType.cs
- ApplicationGesture.cs
- FunctionUpdateCommand.cs
- LOSFormatter.cs
- ServerReliableChannelBinder.cs
- SortedList.cs
- DelegatedStream.cs
- SqlBulkCopyColumnMapping.cs
- BitSet.cs
- ControlIdConverter.cs
- XmlFileEditor.cs
- XPathException.cs
- NameTable.cs
- ConfigurationHandlersInstallComponent.cs
- xamlnodes.cs
- LocalValueEnumerator.cs
- XmlNamedNodeMap.cs
- ListParagraph.cs
- SqlCacheDependencyDatabaseCollection.cs
- EventProxy.cs
- FactoryGenerator.cs
- Win32.cs
- CacheSection.cs
- HostProtectionPermission.cs
- dbdatarecord.cs
- HMACSHA1.cs
- TreeView.cs
- EntityKey.cs
- Glyph.cs
- RegexCaptureCollection.cs
- PolyBezierSegmentFigureLogic.cs
- UMPAttributes.cs
- StrongTypingException.cs
- EntityDataSourceWrapper.cs
- Validator.cs
- WebBrowser.cs
- XmlAttribute.cs
- SQLMembershipProvider.cs
- ListViewGroup.cs
- ChannelDemuxer.cs
- SchemaNotation.cs
- DefaultEventAttribute.cs
- ValueConversionAttribute.cs
- CodeDOMUtility.cs
- ComplexTypeEmitter.cs
- NetworkStream.cs
- RTLAwareMessageBox.cs
- UserControlBuildProvider.cs
- OutputCacheSettings.cs
- ProxyWebPartConnectionCollection.cs
- QueryOperationResponseOfT.cs
- ContractValidationHelper.cs
- ContextBase.cs
- Types.cs
- Keywords.cs
- SpotLight.cs
- SystemIPGlobalProperties.cs
- TableLayoutStyle.cs
- MetafileHeaderWmf.cs
- ScriptingJsonSerializationSection.cs
- TypeBinaryExpression.cs
- SimpleRecyclingCache.cs
- DataGridViewAccessibleObject.cs
- SecurityCriticalDataForSet.cs
- OdbcConnectionPoolProviderInfo.cs
- SourceElementsCollection.cs
- MenuItem.cs
- FontStyles.cs
- Util.cs
- ExceptionList.cs
- LineBreak.cs
- _ConnectStream.cs
- C14NUtil.cs
- SHA256.cs
- Block.cs
- ToolboxCategory.cs
- RuntimeHelpers.cs
- PopupRootAutomationPeer.cs
- Positioning.cs
- DisplayInformation.cs
- ConfigXmlComment.cs
- XomlCompilerHelpers.cs
- EntityDataSourceStatementEditor.cs