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
- LiteralControl.cs
- LocalClientSecuritySettings.cs
- DataColumn.cs
- HierarchicalDataSourceIDConverter.cs
- DataTable.cs
- FileInfo.cs
- FormViewDeleteEventArgs.cs
- AtomicFile.cs
- ContentPosition.cs
- HttpWebResponse.cs
- ObjectNotFoundException.cs
- ProviderCollection.cs
- SID.cs
- Handle.cs
- SettingsContext.cs
- EntityDesignerDataSourceView.cs
- TextDecorationLocationValidation.cs
- OLEDB_Enum.cs
- Activity.cs
- CounterCreationData.cs
- BaseTemplateBuildProvider.cs
- OutArgument.cs
- OuterProxyWrapper.cs
- Size3D.cs
- Thread.cs
- XmlnsDefinitionAttribute.cs
- ObjectListFieldCollection.cs
- SafeLibraryHandle.cs
- StackSpiller.Bindings.cs
- DoWorkEventArgs.cs
- CodeDefaultValueExpression.cs
- LightweightCodeGenerator.cs
- ExtensionElementCollection.cs
- ContentPlaceHolder.cs
- XmlElementAttributes.cs
- ContainerUIElement3D.cs
- RepeatButtonAutomationPeer.cs
- StickyNoteContentControl.cs
- AudioFormatConverter.cs
- CustomValidator.cs
- TypographyProperties.cs
- CssTextWriter.cs
- MediaSystem.cs
- LZCodec.cs
- LoginView.cs
- UInt16Converter.cs
- SineEase.cs
- Deflater.cs
- FieldBuilder.cs
- SQLGuid.cs
- FormViewDesigner.cs
- RecordBuilder.cs
- BrowserCapabilitiesCodeGenerator.cs
- NumberSubstitution.cs
- ObjectListCommandsPage.cs
- TagElement.cs
- SelectedDatesCollection.cs
- ImageSource.cs
- XPathBinder.cs
- CalculatedColumn.cs
- HyperLink.cs
- ColorMap.cs
- ProcessModule.cs
- TextSelectionHelper.cs
- CodeDirectoryCompiler.cs
- CqlLexer.cs
- Directory.cs
- IResourceProvider.cs
- EventDrivenDesigner.cs
- AssemblyInfo.cs
- CodeEntryPointMethod.cs
- ItemMap.cs
- ChannelSettingsElement.cs
- ParameterBinding.cs
- BitmapEffectDrawing.cs
- SerializationObjectManager.cs
- XmlSchemaCollection.cs
- FileCodeGroup.cs
- Keywords.cs
- DummyDataSource.cs
- InputDevice.cs
- XmlNodeList.cs
- BamlRecordWriter.cs
- ValidationResult.cs
- TextComposition.cs
- _BasicClient.cs
- ImageAttributes.cs
- TextParagraph.cs
- ComboBox.cs
- PointAnimationBase.cs
- EnumerableCollectionView.cs
- SqlMethodAttribute.cs
- ResourcePool.cs
- XmlSchemaImport.cs
- ProgressPage.cs
- DesignBindingPicker.cs
- FontSourceCollection.cs
- NeutralResourcesLanguageAttribute.cs
- InputLangChangeEvent.cs
- UnknownWrapper.cs