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
- ComplexPropertyEntry.cs
- ProjectionCamera.cs
- LocalizationComments.cs
- SmiEventSink_Default.cs
- XmlSchemaAnnotated.cs
- XmlSchemaSimpleContentRestriction.cs
- XmlSchemaComplexContentExtension.cs
- FrameworkRichTextComposition.cs
- RtfToXamlReader.cs
- DocumentStatusResources.cs
- StrokeCollection.cs
- ClientConfigurationSystem.cs
- WsdlInspector.cs
- ClientFactory.cs
- XmlnsCache.cs
- EntitySqlQueryBuilder.cs
- SlotInfo.cs
- XmlSerializationGeneratedCode.cs
- EventTrigger.cs
- DockPanel.cs
- GridViewDesigner.cs
- FlowDocumentPage.cs
- ConnectionPoolManager.cs
- FaultContractInfo.cs
- ProtocolElement.cs
- StyleSheetRefUrlEditor.cs
- PropertyEmitterBase.cs
- BindingMAnagerBase.cs
- EntityDataReader.cs
- FamilyMapCollection.cs
- ElementMarkupObject.cs
- XmlDictionaryReaderQuotas.cs
- SqlDataSourceCache.cs
- ConditionalExpression.cs
- SchemaConstraints.cs
- PointF.cs
- ResXFileRef.cs
- RSACryptoServiceProvider.cs
- AsyncPostBackErrorEventArgs.cs
- ServiceThrottlingBehavior.cs
- XmlSchemaSimpleTypeUnion.cs
- __TransparentProxy.cs
- TreeNodeEventArgs.cs
- UxThemeWrapper.cs
- DbInsertCommandTree.cs
- ChannelSinkStacks.cs
- DataGridViewCellValueEventArgs.cs
- HTMLTagNameToTypeMapper.cs
- EndEvent.cs
- InputGestureCollection.cs
- SharedDp.cs
- XmlProcessingInstruction.cs
- HttpFileCollectionBase.cs
- HttpListenerPrefixCollection.cs
- PermissionSetEnumerator.cs
- CrossAppDomainChannel.cs
- HandledEventArgs.cs
- BaseHashHelper.cs
- Calendar.cs
- PointConverter.cs
- ColorBlend.cs
- ProviderBase.cs
- SelectionChangedEventArgs.cs
- MexHttpBindingCollectionElement.cs
- InitializationEventAttribute.cs
- LingerOption.cs
- __Error.cs
- URLIdentityPermission.cs
- OleTxTransaction.cs
- StretchValidation.cs
- QueryOpeningEnumerator.cs
- cryptoapiTransform.cs
- ElementNotAvailableException.cs
- HandoffBehavior.cs
- keycontainerpermission.cs
- BitmapEffectCollection.cs
- GridViewColumnCollectionChangedEventArgs.cs
- TextElementAutomationPeer.cs
- Stacktrace.cs
- MissingFieldException.cs
- FrameworkContentElement.cs
- DataError.cs
- ChooseAction.cs
- RowUpdatedEventArgs.cs
- TitleStyle.cs
- CodePropertyReferenceExpression.cs
- KeyGesture.cs
- Color.cs
- RoleService.cs
- EncodingNLS.cs
- ObjectDataSourceEventArgs.cs
- Parsers.cs
- RowUpdatingEventArgs.cs
- Comparer.cs
- TypeDescriptionProvider.cs
- SettingsPropertyWrongTypeException.cs
- Array.cs
- XmlSchemaObjectTable.cs
- WebPartDisplayModeCancelEventArgs.cs
- PointLightBase.cs