Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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 = DefinitionProperties.GetUid(owner); 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
- UriParserTemplates.cs
- _LoggingObject.cs
- PrinterSettings.cs
- CodeTypeMember.cs
- CodeSnippetCompileUnit.cs
- LoadWorkflowByKeyAsyncResult.cs
- DeviceSpecificDialogCachedState.cs
- AutomationElementIdentifiers.cs
- ClientProtocol.cs
- XamlWrapperReaders.cs
- TextEditorTables.cs
- FlowDocumentReaderAutomationPeer.cs
- PersonalizationStateInfoCollection.cs
- CacheDict.cs
- SqlGatherConsumedAliases.cs
- CompositeScriptReference.cs
- CryptoApi.cs
- ColumnWidthChangedEvent.cs
- ADMembershipUser.cs
- BitConverter.cs
- SystemException.cs
- FreeFormPanel.cs
- EntityDataSourceMemberPath.cs
- BroadcastEventHelper.cs
- XmlSchemaSet.cs
- DataPagerFieldCommandEventArgs.cs
- ObjectDataSourceDisposingEventArgs.cs
- TableMethodGenerator.cs
- ComponentEditorForm.cs
- RotateTransform3D.cs
- COM2ExtendedUITypeEditor.cs
- TabControl.cs
- CompilationSection.cs
- XsltSettings.cs
- CommonGetThemePartSize.cs
- PointF.cs
- PathData.cs
- DashStyle.cs
- ListDictionary.cs
- TransformValueSerializer.cs
- SafeThreadHandle.cs
- AccessDataSourceDesigner.cs
- XmlTextReaderImpl.cs
- TileModeValidation.cs
- MethodBuilderInstantiation.cs
- BlobPersonalizationState.cs
- ChtmlCalendarAdapter.cs
- AuthorizationRule.cs
- SoapMessage.cs
- TextProperties.cs
- LinearGradientBrush.cs
- _WinHttpWebProxyDataBuilder.cs
- dbdatarecord.cs
- XPathDocumentBuilder.cs
- AtomicFile.cs
- Baml2006ReaderContext.cs
- HelpPage.cs
- ConnectionStringSettingsCollection.cs
- CqlGenerator.cs
- securitycriticaldataClass.cs
- WebPartManagerInternals.cs
- EntitySqlQueryCacheEntry.cs
- InvariantComparer.cs
- SourceLocation.cs
- XamlSerializerUtil.cs
- SortQuery.cs
- DateTimePicker.cs
- HighlightComponent.cs
- ItemCheckEvent.cs
- HttpRequestCacheValidator.cs
- CodePageEncoding.cs
- QuaternionRotation3D.cs
- TableLayoutPanelCodeDomSerializer.cs
- HashHelpers.cs
- SystemIPGlobalProperties.cs
- DynamicDocumentPaginator.cs
- DecimalAnimation.cs
- ExpressionBinding.cs
- MobileUITypeEditor.cs
- SegmentInfo.cs
- XmlSchemaAll.cs
- PropertyStore.cs
- CommonDialog.cs
- TreeViewImageKeyConverter.cs
- WebPartConnectionsCloseVerb.cs
- TdsParserSessionPool.cs
- MenuItemStyleCollectionEditor.cs
- DrawingContextWalker.cs
- DynamicArgumentDialog.cs
- SmiMetaDataProperty.cs
- DataGridCell.cs
- AdPostCacheSubstitution.cs
- TargetControlTypeAttribute.cs
- assertwrapper.cs
- InnerItemCollectionView.cs
- ImageAttributes.cs
- SiteMapHierarchicalDataSourceView.cs
- WmlCalendarAdapter.cs
- DataDocumentXPathNavigator.cs
- ProcessHost.cs