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
- NamedPipeChannelFactory.cs
- SizeFConverter.cs
- XmlNamespaceMappingCollection.cs
- BindingCompleteEventArgs.cs
- StatusBar.cs
- FixedTextPointer.cs
- PersonalizationStateQuery.cs
- AspProxy.cs
- TextDecorationCollection.cs
- FtpRequestCacheValidator.cs
- GeometryConverter.cs
- PersistenceTypeAttribute.cs
- SizeValueSerializer.cs
- WebPartConnectVerb.cs
- FixedLineResult.cs
- StyleSheetComponentEditor.cs
- ActivityStateRecord.cs
- StandardTransformFactory.cs
- UInt32Storage.cs
- StrokeDescriptor.cs
- RenderData.cs
- ImageFormat.cs
- SimpleHandlerBuildProvider.cs
- SettingsAttributes.cs
- CollectionViewGroupRoot.cs
- GenericEnumerator.cs
- DirectoryInfo.cs
- MarshalByValueComponent.cs
- AssociationProvider.cs
- DesignerLinkAdapter.cs
- DataPagerFieldCommandEventArgs.cs
- XamlWriter.cs
- ListViewSortEventArgs.cs
- ValueProviderWrapper.cs
- Span.cs
- ChangeBlockUndoRecord.cs
- WorkflowIdleBehavior.cs
- DataGridCellsPresenter.cs
- EntitySqlQueryBuilder.cs
- PartialCachingControl.cs
- FormsAuthentication.cs
- smtppermission.cs
- WebBrowserBase.cs
- CurrentChangedEventManager.cs
- BooleanStorage.cs
- LinqDataSourceUpdateEventArgs.cs
- ArgumentNullException.cs
- WebPartRestoreVerb.cs
- XmlRawWriter.cs
- RootDesignerSerializerAttribute.cs
- CompilationSection.cs
- RectConverter.cs
- OletxVolatileEnlistment.cs
- EditCommandColumn.cs
- TextBreakpoint.cs
- XPathEmptyIterator.cs
- HttpPostLocalhostServerProtocol.cs
- PkcsMisc.cs
- SchemaRegistration.cs
- SmtpFailedRecipientsException.cs
- TableLayoutPanel.cs
- TreeViewDataItemAutomationPeer.cs
- DataRecordInternal.cs
- TypeBuilderInstantiation.cs
- SmiEventSink_DeferedProcessing.cs
- DescendantBaseQuery.cs
- Knowncolors.cs
- Camera.cs
- ShaderEffect.cs
- StrongNamePublicKeyBlob.cs
- DebugInfoGenerator.cs
- SubMenuStyleCollection.cs
- BamlLocalizer.cs
- WebDisplayNameAttribute.cs
- TwoPhaseCommitProxy.cs
- DataServiceRequest.cs
- IconConverter.cs
- Comparer.cs
- NullToBooleanConverter.cs
- InvokeProviderWrapper.cs
- BoundColumn.cs
- DynamicMethod.cs
- clipboard.cs
- StringHelper.cs
- FileLoadException.cs
- Label.cs
- XmlAutoDetectWriter.cs
- BasicExpandProvider.cs
- PropertyChangingEventArgs.cs
- GroupBox.cs
- DataGridViewImageCell.cs
- IPGlobalProperties.cs
- NameSpaceExtractor.cs
- DesignerPerfEventProvider.cs
- ToolStripDropDownItem.cs
- TemplateKey.cs
- ListBox.cs
- CrossAppDomainChannel.cs
- shaperfactoryquerycachekey.cs
- SyndicationSerializer.cs