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
- XmlILConstructAnalyzer.cs
- DataGridHelper.cs
- SqlClientMetaDataCollectionNames.cs
- EdmProperty.cs
- NonVisualControlAttribute.cs
- MediaEntryAttribute.cs
- GatewayDefinition.cs
- ExpressionList.cs
- StringToken.cs
- DoubleSumAggregationOperator.cs
- DecoratedNameAttribute.cs
- SQLCharsStorage.cs
- Pool.cs
- CompositeKey.cs
- DbProviderServices.cs
- UriTemplateMatch.cs
- PDBReader.cs
- DbProviderFactories.cs
- LicenseContext.cs
- ConfigurationStrings.cs
- TimeSpanOrInfiniteValidator.cs
- MetaModel.cs
- NameValueCache.cs
- CompiledXpathExpr.cs
- LayoutExceptionEventArgs.cs
- RecordConverter.cs
- SystemException.cs
- UIElementIsland.cs
- PcmConverter.cs
- ScriptReferenceBase.cs
- DesignerTextViewAdapter.cs
- MasterPageBuildProvider.cs
- Switch.cs
- DescendantBaseQuery.cs
- IFormattable.cs
- XmlArrayItemAttribute.cs
- ToolStripItem.cs
- XmlFormatExtensionPointAttribute.cs
- StreamReader.cs
- RelationshipFixer.cs
- TransactionProtocolConverter.cs
- LineServicesRun.cs
- CodeDomLocalizationProvider.cs
- DesignerDataStoredProcedure.cs
- DeferredRunTextReference.cs
- CatalogPart.cs
- BackgroundWorker.cs
- ValueConversionAttribute.cs
- SqlInternalConnectionSmi.cs
- Base64Decoder.cs
- OrCondition.cs
- FrameworkContentElement.cs
- Int32KeyFrameCollection.cs
- MailDefinition.cs
- SecurityDocument.cs
- DataGridBoolColumn.cs
- CompositeTypefaceMetrics.cs
- XmlUTF8TextWriter.cs
- IPPacketInformation.cs
- EventLogPermissionEntry.cs
- Mutex.cs
- DbModificationClause.cs
- CaseExpr.cs
- ServiceMemoryGates.cs
- PropertyManager.cs
- HttpStreams.cs
- GacUtil.cs
- CommandBinding.cs
- EntityDataSourceQueryBuilder.cs
- SQLInt32.cs
- FormatterServices.cs
- WinHttpWebProxyFinder.cs
- EventItfInfo.cs
- WebPartDescription.cs
- PublisherIdentityPermission.cs
- AuthenticationService.cs
- Pen.cs
- SmtpReplyReader.cs
- DynamicPropertyReader.cs
- IntPtr.cs
- CatalogZone.cs
- DbMetaDataColumnNames.cs
- Substitution.cs
- BackgroundWorker.cs
- DecimalFormatter.cs
- HttpClientCertificate.cs
- ProjectionCamera.cs
- OdbcParameter.cs
- ZipFileInfoCollection.cs
- XmlSchemaGroupRef.cs
- XmlSchemaAll.cs
- SQLCharsStorage.cs
- CodeDelegateCreateExpression.cs
- ResXResourceReader.cs
- arabicshape.cs
- CatalogPartChrome.cs
- StreamFormatter.cs
- AnnotationStore.cs
- DocumentXmlWriter.cs
- IsolatedStorageFilePermission.cs