Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / 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 = 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
- CardSpacePolicyElement.cs
- ObjectTypeMapping.cs
- HtmlDocument.cs
- SessionStateModule.cs
- QueueProcessor.cs
- TypeFieldSchema.cs
- ListBase.cs
- DbParameterCollection.cs
- OutputCacheProfileCollection.cs
- ChannelFactory.cs
- DesignColumnCollection.cs
- TransformedBitmap.cs
- DotExpr.cs
- BrowserDefinition.cs
- _CookieModule.cs
- QueryPageSettingsEventArgs.cs
- DataGridViewLayoutData.cs
- FixedPosition.cs
- ExpandCollapsePattern.cs
- EntityViewContainer.cs
- TextPattern.cs
- Keyboard.cs
- DateTimeConverter.cs
- BamlMapTable.cs
- SafePipeHandle.cs
- ParameterBuilder.cs
- ToolBar.cs
- TypeGenericEnumerableViewSchema.cs
- SrgsElementFactory.cs
- PrintingPermissionAttribute.cs
- NameSpaceEvent.cs
- HttpDictionary.cs
- RowType.cs
- SortKey.cs
- DrawingState.cs
- SerializationSectionGroup.cs
- PersonalizablePropertyEntry.cs
- MetadataFile.cs
- FixedSOMElement.cs
- CreateUserWizardDesigner.cs
- ToolStripGripRenderEventArgs.cs
- WebColorConverter.cs
- GeneralTransform3DGroup.cs
- ToolStripDropTargetManager.cs
- DataKey.cs
- XamlSerializerUtil.cs
- EntitySetBase.cs
- FormViewModeEventArgs.cs
- dataSvcMapFileLoader.cs
- CommentEmitter.cs
- TextTreeFixupNode.cs
- SystemGatewayIPAddressInformation.cs
- ListItemParagraph.cs
- ExtendedPropertyCollection.cs
- DataMemberFieldConverter.cs
- SafeLibraryHandle.cs
- CSharpCodeProvider.cs
- HttpWebResponse.cs
- CodeDOMProvider.cs
- UnsafeNativeMethods.cs
- XmlEnumAttribute.cs
- COM2IDispatchConverter.cs
- SourceExpressionException.cs
- InkCollectionBehavior.cs
- NameObjectCollectionBase.cs
- MemberPath.cs
- HMACSHA384.cs
- ProtocolInformationWriter.cs
- ActivityInstanceReference.cs
- SQLStringStorage.cs
- ColorInterpolationModeValidation.cs
- EnumUnknown.cs
- SymmetricAlgorithm.cs
- SqlDataSourceConnectionPanel.cs
- MachineKeySection.cs
- SizeChangedInfo.cs
- InternalMappingException.cs
- XamlSerializationHelper.cs
- WindowsEditBox.cs
- BitmapImage.cs
- HtmlElementErrorEventArgs.cs
- BaseDataList.cs
- Domain.cs
- ClassValidator.cs
- ResourcePool.cs
- ReachBasicContext.cs
- SynchronizationHandlesCodeDomSerializer.cs
- PreservationFileReader.cs
- HtmlTableCell.cs
- ProfessionalColors.cs
- ToolStripItemCollection.cs
- HtmlEncodedRawTextWriter.cs
- WebConfigurationManager.cs
- safex509handles.cs
- ToolStripTextBox.cs
- ExpressionNode.cs
- JournalEntryStack.cs
- ValidatorCompatibilityHelper.cs
- CollectionChangeEventArgs.cs
- PointLightBase.cs