Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / FrameworkContentElementAutomationPeer.cs / 1305600 / FrameworkContentElementAutomationPeer.cs
//----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// File: FrameworkContentElementAutomationPeer.cs
//
// Description: AutomationPeer associated with FrameworkContnetElement.
//
//---------------------------------------------------------------------------
using System.Windows.Markup; // DefinitionProperties
using System.Windows.Controls; // Label
namespace System.Windows.Automation.Peers
{
///
/// AutomationPeer associated with FrameworkContentElement.
///
public class FrameworkContentElementAutomationPeer : ContentElementAutomationPeer
{
///
/// Constructor.
///
/// Owner of the AutomationPeer.
public FrameworkContentElementAutomationPeer(FrameworkContentElement owner)
: base(owner)
{ }
///
///
///
protected override string GetAutomationIdCore()
{
// 1. fetch AutomationProperties.AutomationIdProperty
string result = base.GetAutomationIdCore();
if (string.IsNullOrEmpty(result))
{
// 2. fetch x:Uid
// Uid's do not appear on content elements.
// result = DefinitionProperties.GetUid(Owner);
if (string.IsNullOrEmpty(result))
{
// 3. fetch FrameworkElement.NameProperty
result = ((FrameworkContentElement)Owner).Name;
}
}
return result == null ? string.Empty : result;
}
///
protected override string GetHelpTextCore()
{
string result = base.GetHelpTextCore();
if (string.IsNullOrEmpty(result))
{
object toolTip = ((FrameworkContentElement)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 labelPeer;
}
}
}
// 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
- LinqDataSourceDeleteEventArgs.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- XmlSchemaAnyAttribute.cs
- InvalidCastException.cs
- PropertyNames.cs
- AppDomainShutdownMonitor.cs
- ApplicationException.cs
- MetafileEditor.cs
- DataGridViewColumnCollection.cs
- ViewStateAttachedPropertyFeature.cs
- ByteKeyFrameCollection.cs
- SafeNativeMethods.cs
- ProjectionPlanCompiler.cs
- Trigger.cs
- DataTable.cs
- Speller.cs
- TextFindEngine.cs
- CodeTypeParameterCollection.cs
- OleDbPermission.cs
- QueueProcessor.cs
- Object.cs
- TextDecoration.cs
- DbgUtil.cs
- TextDecoration.cs
- NativeCompoundFileAPIs.cs
- ComplexLine.cs
- Double.cs
- SystemUnicastIPAddressInformation.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- JpegBitmapEncoder.cs
- WebBrowserEvent.cs
- ContentType.cs
- BaseComponentEditor.cs
- XmlReader.cs
- ToolZone.cs
- AsyncCodeActivity.cs
- HttpProfileBase.cs
- ControlPager.cs
- DoubleAnimationUsingPath.cs
- DataGridViewBand.cs
- InternalConfigSettingsFactory.cs
- UdpAnnouncementEndpoint.cs
- Timeline.cs
- DataTableCollection.cs
- OdbcPermission.cs
- DesignerLoader.cs
- AssemblyUtil.cs
- FunctionCommandText.cs
- DbConnectionOptions.cs
- MessageBox.cs
- _LazyAsyncResult.cs
- ResourceDictionary.cs
- ConfigurationValidatorAttribute.cs
- OracleException.cs
- BezierSegment.cs
- HtmlContainerControl.cs
- TagNameToTypeMapper.cs
- XPathArrayIterator.cs
- SafeIUnknown.cs
- Comparer.cs
- PartialCachingAttribute.cs
- safex509handles.cs
- VirtualizingPanel.cs
- QueryLifecycle.cs
- ScrollChangedEventArgs.cs
- SpotLight.cs
- Utils.cs
- DataGridViewSelectedRowCollection.cs
- TablePattern.cs
- DbUpdateCommandTree.cs
- MultitargetingHelpers.cs
- Encoding.cs
- StylusPlugInCollection.cs
- HttpGetProtocolReflector.cs
- BitStack.cs
- CqlBlock.cs
- TimelineGroup.cs
- TCEAdapterGenerator.cs
- ResourceAttributes.cs
- DynamicILGenerator.cs
- RestClientProxyHandler.cs
- InvalidProgramException.cs
- ExtendLockAsyncResult.cs
- DataServiceQueryContinuation.cs
- ConfigurationStrings.cs
- DescendantQuery.cs
- LoadedOrUnloadedOperation.cs
- RegexCode.cs
- SystemInformation.cs
- SymbolType.cs
- VerticalAlignConverter.cs
- MeshGeometry3D.cs
- MetadataItem.cs
- ProtocolImporter.cs
- BuilderPropertyEntry.cs
- XPathEmptyIterator.cs
- Transactions.cs
- ModelFunctionTypeElement.cs
- EpmSyndicationContentSerializer.cs
- RenamedEventArgs.cs