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
- TextOutput.cs
- WebPartMenuStyle.cs
- EntityKey.cs
- IteratorFilter.cs
- AVElementHelper.cs
- SessionStateSection.cs
- OracleParameterCollection.cs
- ImageInfo.cs
- CompoundFileStorageReference.cs
- TTSVoice.cs
- HtmlLink.cs
- StaticResourceExtension.cs
- ReliableInputConnection.cs
- TableAdapterManagerHelper.cs
- DropDownList.cs
- BooleanToVisibilityConverter.cs
- PageClientProxyGenerator.cs
- SolidColorBrush.cs
- ObjectDataSource.cs
- SQLDateTimeStorage.cs
- InputBinding.cs
- ClientType.cs
- DataSetUtil.cs
- DataControlField.cs
- IBuiltInEvidence.cs
- DesignerForm.cs
- _SSPIWrapper.cs
- StaticResourceExtension.cs
- Properties.cs
- HttpProtocolReflector.cs
- PropertyCollection.cs
- BamlRecordWriter.cs
- SoapElementAttribute.cs
- HtmlTableCell.cs
- ScriptResourceInfo.cs
- NumericUpDownAccelerationCollection.cs
- SqlStream.cs
- NumericPagerField.cs
- Expressions.cs
- ValuePattern.cs
- DrawingGroup.cs
- TCPClient.cs
- EntitySetDataBindingList.cs
- Rotation3DAnimation.cs
- ObjectDataSourceSelectingEventArgs.cs
- StoreItemCollection.Loader.cs
- ServerIdentity.cs
- PolyBezierSegment.cs
- ScalarOps.cs
- sqlser.cs
- XmlDocumentFragment.cs
- LoginName.cs
- CssTextWriter.cs
- SvcFileManager.cs
- SystemWebExtensionsSectionGroup.cs
- EventMap.cs
- PackageDigitalSignatureManager.cs
- JoinSymbol.cs
- SurrogateSelector.cs
- WindowsStatusBar.cs
- ControlUtil.cs
- DbProviderFactories.cs
- ControllableStoryboardAction.cs
- SecurityTokenException.cs
- GridViewCellAutomationPeer.cs
- StoreContentChangedEventArgs.cs
- DataGridCommandEventArgs.cs
- httpapplicationstate.cs
- CodeMemberMethod.cs
- Calendar.cs
- OracleConnectionString.cs
- WebPartAuthorizationEventArgs.cs
- BrowserCapabilitiesFactoryBase.cs
- ListDesigner.cs
- TemplatingOptionsDialog.cs
- CorePropertiesFilter.cs
- WebPartConnectionsEventArgs.cs
- PersonalizablePropertyEntry.cs
- LocatorManager.cs
- StringInfo.cs
- Selection.cs
- ListViewInsertedEventArgs.cs
- AspProxy.cs
- CryptoKeySecurity.cs
- AuthorizationSection.cs
- DataGridViewCellValidatingEventArgs.cs
- WorkflowServiceOperationListItem.cs
- SHA1Managed.cs
- PackWebResponse.cs
- MimeParameter.cs
- ExpressionsCollectionEditor.cs
- ResourcePermissionBase.cs
- LambdaCompiler.Logical.cs
- BitSet.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ListContractAdapter.cs
- WorkflowElementDialogWindow.xaml.cs
- Vector3D.cs
- EasingQuaternionKeyFrame.cs
- NumberEdit.cs