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
- ViewValidator.cs
- ServiceNameElement.cs
- DbConnectionClosed.cs
- VersionConverter.cs
- _TLSstream.cs
- ConnectionPoint.cs
- XamlTypeMapper.cs
- XmlSchemaSimpleContentExtension.cs
- VisualTreeUtils.cs
- RecordManager.cs
- __Filters.cs
- ClientConfigurationHost.cs
- RelationshipFixer.cs
- XmlDataProvider.cs
- DashStyles.cs
- NativeMethods.cs
- ObjectDataSourceStatusEventArgs.cs
- AsymmetricSecurityProtocolFactory.cs
- QueryFunctions.cs
- GeneralTransformCollection.cs
- DescriptionAttribute.cs
- SmtpAuthenticationManager.cs
- Utils.cs
- BrowserInteropHelper.cs
- XamlDesignerSerializationManager.cs
- ServiceReference.cs
- XmlReflectionMember.cs
- InstanceLockLostException.cs
- DrawingBrush.cs
- ScrollProviderWrapper.cs
- UndirectedGraph.cs
- path.cs
- MethodAccessException.cs
- MemoryFailPoint.cs
- OdbcDataReader.cs
- TranslateTransform3D.cs
- TemplatePartAttribute.cs
- TerminateWorkflow.cs
- TypeConvertions.cs
- validationstate.cs
- RelationshipDetailsRow.cs
- QuaternionAnimationUsingKeyFrames.cs
- SqlBuffer.cs
- OleDbRowUpdatingEvent.cs
- StylusPointDescription.cs
- ReadonlyMessageFilter.cs
- TextSelection.cs
- TextTreeInsertUndoUnit.cs
- HtmlTitle.cs
- CryptoKeySecurity.cs
- SafeSystemMetrics.cs
- HorizontalAlignConverter.cs
- CaseStatementProjectedSlot.cs
- Collection.cs
- ReturnValue.cs
- XsdDataContractImporter.cs
- ProfileSettings.cs
- SubMenuStyleCollectionEditor.cs
- StandardOleMarshalObject.cs
- EmptyImpersonationContext.cs
- AsyncCompletedEventArgs.cs
- ExternalCalls.cs
- HwndMouseInputProvider.cs
- DocumentViewerBaseAutomationPeer.cs
- ErrorWebPart.cs
- SqlTriggerAttribute.cs
- ThaiBuddhistCalendar.cs
- dataprotectionpermissionattribute.cs
- ListControlDataBindingHandler.cs
- XmlSerializerVersionAttribute.cs
- TextEditorCopyPaste.cs
- ToolStripDropDownClosedEventArgs.cs
- Zone.cs
- DialogWindow.cs
- SharedPerformanceCounter.cs
- PackageStore.cs
- Model3D.cs
- ProvidersHelper.cs
- HeaderFilter.cs
- GatewayDefinition.cs
- Crc32.cs
- XmlSchemaFacet.cs
- StreamGeometry.cs
- OrderedDictionary.cs
- SQLDateTimeStorage.cs
- FileSecurity.cs
- FieldNameLookup.cs
- UntypedNullExpression.cs
- CodeThrowExceptionStatement.cs
- OpenFileDialog.cs
- ProfileService.cs
- GZipDecoder.cs
- ExeContext.cs
- JavascriptXmlWriterWrapper.cs
- VBIdentifierName.cs
- TextDecorations.cs
- BoundField.cs
- InfoCardTrace.cs
- ToolStripLocationCancelEventArgs.cs
- BindingListCollectionView.cs