Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Automation / Peers / TextAutomationPeer.cs / 1 / TextAutomationPeer.cs
//----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// File: ContentTextElementAutomationPeer.cs
//
// Description: Base class for AutomationPeers associated with TextPattern.
//
//---------------------------------------------------------------------------
using System.Collections.Generic; // List
using System.Windows.Automation.Provider; // IRawElementProviderSimple
using System.Windows.Documents; // ITextPointer
namespace System.Windows.Automation.Peers
{
///
/// Base class for AutomationPeers associated with TextPattern.
///
public abstract class TextAutomationPeer : FrameworkElementAutomationPeer
{
///
/// Constructor.
///
protected TextAutomationPeer(FrameworkElement owner)
: base(owner)
{}
///
/// GetNameCore will return a value matching (in priority order)
///
/// 1. Automation.Name
/// 2. GetLabeledBy.Name
/// 3. String.Empty
///
/// This differs from the base implementation in that we must
/// never return GetPlainText() .
///
override protected string GetNameCore()
{
string result = AutomationProperties.GetName(this.Owner);
if (string.IsNullOrEmpty(result))
{
AutomationPeer labelAutomationPeer = GetLabeledByCore();
if (labelAutomationPeer != null)
{
result = labelAutomationPeer.GetName();
}
}
return result ?? string.Empty;
}
///
/// Maps AutomationPeer to provider object.
///
internal new IRawElementProviderSimple ProviderFromPeer(AutomationPeer peer)
{
return base.ProviderFromPeer(peer);
}
///
/// Maps automation provider to DependencyObject.
///
internal DependencyObject ElementFromProvider(IRawElementProviderSimple provider)
{
DependencyObject element = null;
AutomationPeer peer = PeerFromProvider(provider);
if (peer is UIElementAutomationPeer)
{
element = ((UIElementAutomationPeer)peer).Owner;
}
else if (peer is ContentElementAutomationPeer)
{
element = ((ContentElementAutomationPeer)peer).Owner;
}
return element;
}
///
/// Gets collection of AutomationPeers for given text range.
///
internal abstract List GetAutomationPeersFromRange(ITextPointer start, ITextPointer end);
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// File: ContentTextElementAutomationPeer.cs
//
// Description: Base class for AutomationPeers associated with TextPattern.
//
//---------------------------------------------------------------------------
using System.Collections.Generic; // List
using System.Windows.Automation.Provider; // IRawElementProviderSimple
using System.Windows.Documents; // ITextPointer
namespace System.Windows.Automation.Peers
{
///
/// Base class for AutomationPeers associated with TextPattern.
///
public abstract class TextAutomationPeer : FrameworkElementAutomationPeer
{
///
/// Constructor.
///
protected TextAutomationPeer(FrameworkElement owner)
: base(owner)
{}
///
/// GetNameCore will return a value matching (in priority order)
///
/// 1. Automation.Name
/// 2. GetLabeledBy.Name
/// 3. String.Empty
///
/// This differs from the base implementation in that we must
/// never return GetPlainText() .
///
override protected string GetNameCore()
{
string result = AutomationProperties.GetName(this.Owner);
if (string.IsNullOrEmpty(result))
{
AutomationPeer labelAutomationPeer = GetLabeledByCore();
if (labelAutomationPeer != null)
{
result = labelAutomationPeer.GetName();
}
}
return result ?? string.Empty;
}
///
/// Maps AutomationPeer to provider object.
///
internal new IRawElementProviderSimple ProviderFromPeer(AutomationPeer peer)
{
return base.ProviderFromPeer(peer);
}
///
/// Maps automation provider to DependencyObject.
///
internal DependencyObject ElementFromProvider(IRawElementProviderSimple provider)
{
DependencyObject element = null;
AutomationPeer peer = PeerFromProvider(provider);
if (peer is UIElementAutomationPeer)
{
element = ((UIElementAutomationPeer)peer).Owner;
}
else if (peer is ContentElementAutomationPeer)
{
element = ((ContentElementAutomationPeer)peer).Owner;
}
return element;
}
///
/// Gets collection of AutomationPeers for given text range.
///
internal abstract List GetAutomationPeersFromRange(ITextPointer start, ITextPointer end);
}
}
// 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
- WebHttpElement.cs
- Int32AnimationBase.cs
- HttpGetProtocolReflector.cs
- Parameter.cs
- WindowsListViewItemStartMenu.cs
- X509UI.cs
- RtfControlWordInfo.cs
- EntityProviderFactory.cs
- TextDecorationCollection.cs
- ReadContentAsBinaryHelper.cs
- PackUriHelper.cs
- ClientScriptManager.cs
- ConnectionProviderAttribute.cs
- ChtmlPhoneCallAdapter.cs
- DataService.cs
- TreeNodeStyleCollection.cs
- MissingSatelliteAssemblyException.cs
- BaseServiceProvider.cs
- Vector3DCollectionValueSerializer.cs
- SafePointer.cs
- SynchronizationValidator.cs
- LinearKeyFrames.cs
- XamlGridLengthSerializer.cs
- Binding.cs
- CursorInteropHelper.cs
- StringDictionaryEditor.cs
- Debug.cs
- HwndMouseInputProvider.cs
- PixelFormat.cs
- BezierSegment.cs
- HandlerFactoryCache.cs
- AsyncDataRequest.cs
- CSharpCodeProvider.cs
- RegexInterpreter.cs
- ZipIOExtraFieldElement.cs
- OracleInfoMessageEventArgs.cs
- WindowsBrush.cs
- ColumnResult.cs
- GeneralTransform3DTo2DTo3D.cs
- Comparer.cs
- GeneralTransform3DGroup.cs
- HashHelpers.cs
- CSharpCodeProvider.cs
- DocumentSequenceHighlightLayer.cs
- Debug.cs
- PropertyValueEditor.cs
- ResourcePermissionBaseEntry.cs
- PointAnimationBase.cs
- ProviderBase.cs
- ProfileInfo.cs
- DataGridViewButtonColumn.cs
- RequestCachePolicy.cs
- _IPv4Address.cs
- DecimalConverter.cs
- StringValidator.cs
- PackageRelationshipCollection.cs
- UnicastIPAddressInformationCollection.cs
- WebPartsSection.cs
- ToolStripSplitButton.cs
- UInt64Storage.cs
- CookieParameter.cs
- TextCollapsingProperties.cs
- ScriptingRoleServiceSection.cs
- LoginCancelEventArgs.cs
- SlipBehavior.cs
- ProxyWebPartConnectionCollection.cs
- ReferencedAssemblyResolver.cs
- LocatorPart.cs
- Reference.cs
- EntityDataSource.cs
- SelectionList.cs
- ProcessHost.cs
- ControlBuilder.cs
- PrintPreviewDialog.cs
- DataRowComparer.cs
- OleDragDropHandler.cs
- OracleCommand.cs
- TaiwanCalendar.cs
- InboundActivityHelper.cs
- ellipse.cs
- CommandBindingCollection.cs
- DataGridViewHitTestInfo.cs
- PersonalizationStateInfo.cs
- Transform3DCollection.cs
- Globals.cs
- UrlPropertyAttribute.cs
- CompoundFileStorageReference.cs
- Literal.cs
- WebResourceAttribute.cs
- HtmlHead.cs
- RegexMatch.cs
- ContentElementAutomationPeer.cs
- ACE.cs
- remotingproxy.cs
- LinqDataSourceValidationException.cs
- Logging.cs
- ControlBuilder.cs
- TypeListConverter.cs
- NotFiniteNumberException.cs
- MarginCollapsingState.cs