Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / TextAutomationPeer.cs / 1305600 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ColorMatrix.cs
- controlskin.cs
- RegexBoyerMoore.cs
- AssociationSetEnd.cs
- Grant.cs
- ErrorsHelper.cs
- CodeVariableDeclarationStatement.cs
- FrameworkElementFactoryMarkupObject.cs
- OSFeature.cs
- ThreadPool.cs
- TransformerInfoCollection.cs
- NetDataContractSerializer.cs
- SocketPermission.cs
- SequentialOutput.cs
- ExpandedWrapper.cs
- WindowVisualStateTracker.cs
- Int32RectConverter.cs
- InputBindingCollection.cs
- LayoutSettings.cs
- XmlValidatingReader.cs
- ConstrainedDataObject.cs
- MailDefinition.cs
- AccessibilityHelperForXpWin2k3.cs
- GenericUriParser.cs
- TdsParserStaticMethods.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- DispatcherSynchronizationContext.cs
- Facet.cs
- SpnegoTokenProvider.cs
- FreezableOperations.cs
- CrossAppDomainChannel.cs
- DataTable.cs
- BitmapFrameEncode.cs
- XsltContext.cs
- FSWPathEditor.cs
- AnonymousIdentificationModule.cs
- StaticDataManager.cs
- DataServiceRequestOfT.cs
- cookiecollection.cs
- Panel.cs
- Perspective.cs
- StandardCommandToolStripMenuItem.cs
- ErrorsHelper.cs
- LocatorBase.cs
- UrlParameterReader.cs
- MDIControlStrip.cs
- DoubleCollectionConverter.cs
- ThemeableAttribute.cs
- SelectedCellsCollection.cs
- log.cs
- NativeMethods.cs
- TaskFileService.cs
- StrongNameKeyPair.cs
- Span.cs
- AnimationClockResource.cs
- QilParameter.cs
- CustomError.cs
- UnsafeNativeMethods.cs
- RelationshipSet.cs
- WebPartUserCapability.cs
- XmlSchemaComplexContent.cs
- Rect3D.cs
- FocusWithinProperty.cs
- WsatServiceAddress.cs
- EdmToObjectNamespaceMap.cs
- PrimarySelectionGlyph.cs
- LazyTextWriterCreator.cs
- ManipulationPivot.cs
- LinqToSqlWrapper.cs
- SqlMultiplexer.cs
- ToolboxItemAttribute.cs
- WebPartZoneCollection.cs
- DebuggerAttributes.cs
- HtmlToClrEventProxy.cs
- RadioButtonFlatAdapter.cs
- ParsedAttributeCollection.cs
- CompiledIdentityConstraint.cs
- Triplet.cs
- BaseCAMarshaler.cs
- SqlCacheDependencySection.cs
- PageRequestManager.cs
- AuditLevel.cs
- LinearQuaternionKeyFrame.cs
- Converter.cs
- URLAttribute.cs
- Freezable.cs
- AnchoredBlock.cs
- shaperfactory.cs
- ParserOptions.cs
- WindowInteropHelper.cs
- WebPartsPersonalizationAuthorization.cs
- ModifierKeysConverter.cs
- WindowsFormsSectionHandler.cs
- PropertyValueChangedEvent.cs
- Config.cs
- DataKeyCollection.cs
- CompilerErrorCollection.cs
- TextTrailingWordEllipsis.cs
- TransactionInformation.cs
- TypeSystem.cs