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
- DataChangedEventManager.cs
- SqlUDTStorage.cs
- ToolBar.cs
- dataprotectionpermission.cs
- Error.cs
- ObjectItemConventionAssemblyLoader.cs
- ObjectViewFactory.cs
- ApplicationServiceManager.cs
- PrintPreviewDialog.cs
- BeginGetFileNameFromUserRequest.cs
- XamlVector3DCollectionSerializer.cs
- SqlBuffer.cs
- TableLayoutCellPaintEventArgs.cs
- ServiceDescriptionReflector.cs
- Propagator.Evaluator.cs
- DependencyObjectCodeDomSerializer.cs
- HtmlFormParameterReader.cs
- CodeSubDirectory.cs
- Directory.cs
- DiscreteKeyFrames.cs
- DefaultEventAttribute.cs
- SystemThemeKey.cs
- FormViewUpdatedEventArgs.cs
- CssStyleCollection.cs
- TextPointerBase.cs
- EntityClassGenerator.cs
- Variable.cs
- NumericExpr.cs
- TextCharacters.cs
- HtmlTable.cs
- RawStylusInputCustomDataList.cs
- NegatedCellConstant.cs
- PolyBezierSegment.cs
- CodeValidator.cs
- WpfXamlMember.cs
- LogRecordSequence.cs
- MailAddress.cs
- EntitySetBase.cs
- ValueUnavailableException.cs
- SplitContainer.cs
- CodeTypeMember.cs
- TableCellCollection.cs
- InfoCardProofToken.cs
- PartManifestEntry.cs
- MenuItemBindingCollection.cs
- Deflater.cs
- Subtree.cs
- DetailsViewPageEventArgs.cs
- BamlLocalizableResource.cs
- WmlObjectListAdapter.cs
- ScriptControlDescriptor.cs
- WebPartManager.cs
- SymDocumentType.cs
- BeginStoryboard.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- EmbeddedMailObjectsCollection.cs
- DataBoundControlHelper.cs
- RtfControlWordInfo.cs
- SoapFault.cs
- AliasGenerator.cs
- CompModSwitches.cs
- HyperLinkColumn.cs
- ConditionalBranch.cs
- OperationResponse.cs
- TextEffect.cs
- AccessDataSource.cs
- Stacktrace.cs
- InvalidPrinterException.cs
- EntityDataSourceContextCreatedEventArgs.cs
- GreenMethods.cs
- OletxDependentTransaction.cs
- ApplicationException.cs
- CellParaClient.cs
- Screen.cs
- Bidi.cs
- TypeBuilderInstantiation.cs
- EntityDataSourceContextCreatingEventArgs.cs
- TypeValidationEventArgs.cs
- QEncodedStream.cs
- wmiprovider.cs
- TextServicesCompartmentEventSink.cs
- QueryContinueDragEventArgs.cs
- TripleDES.cs
- TextRangeEditTables.cs
- OperatingSystem.cs
- DecimalAnimation.cs
- PropertyValueUIItem.cs
- precedingsibling.cs
- ListViewCancelEventArgs.cs
- ControlCachePolicy.cs
- XmlElement.cs
- DataGridPreparingCellForEditEventArgs.cs
- PreProcessor.cs
- BaseTemplateParser.cs
- HwndAppCommandInputProvider.cs
- WebEventTraceProvider.cs
- PreservationFileReader.cs
- rsa.cs
- TypeDescriptorContext.cs
- CompiledRegexRunner.cs