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
- ReadingWritingEntityEventArgs.cs
- WasAdminWrapper.cs
- TimeoutException.cs
- Quaternion.cs
- SspiSafeHandles.cs
- HttpCapabilitiesEvaluator.cs
- MemoryMappedViewAccessor.cs
- UriExt.cs
- StylusButton.cs
- Triplet.cs
- ExpressionBuilderContext.cs
- _AutoWebProxyScriptEngine.cs
- ManipulationInertiaStartingEventArgs.cs
- _IPv6Address.cs
- XmlTextReader.cs
- ForAllOperator.cs
- SQLInt64.cs
- ControlIdConverter.cs
- AutomationPatternInfo.cs
- CodeVariableDeclarationStatement.cs
- FixedSOMFixedBlock.cs
- WebPartEditorApplyVerb.cs
- ApplicationTrust.cs
- SelectionProcessor.cs
- panel.cs
- HttpDictionary.cs
- ExceptionRoutedEventArgs.cs
- DiscreteKeyFrames.cs
- VerificationException.cs
- WebRequestModuleElementCollection.cs
- BinaryMessageEncoder.cs
- DebuggerAttributes.cs
- ResourceDescriptionAttribute.cs
- FirewallWrapper.cs
- FormsAuthenticationCredentials.cs
- MediaPlayerState.cs
- RelationshipDetailsRow.cs
- TraceHandler.cs
- XmlSchemas.cs
- SessionIDManager.cs
- ClosableStream.cs
- Vector.cs
- StandardOleMarshalObject.cs
- IRCollection.cs
- TemplateControlCodeDomTreeGenerator.cs
- StyleSelector.cs
- CreateRefExpr.cs
- DataService.cs
- VBIdentifierNameEditor.cs
- HttpAsyncResult.cs
- ServerValidateEventArgs.cs
- ListMarkerLine.cs
- EventLogger.cs
- CompilerError.cs
- EntityDataSourceDesignerHelper.cs
- PlainXmlSerializer.cs
- MenuRendererStandards.cs
- GuidTagList.cs
- ViewStateModeByIdAttribute.cs
- WorkflowMarkupSerializer.cs
- CompositeControl.cs
- RelationshipDetailsCollection.cs
- SequentialActivityDesigner.cs
- RegistrationServices.cs
- XmlSchemaInclude.cs
- OutputWindow.cs
- MouseEvent.cs
- DataGridViewMethods.cs
- ConfigurationStrings.cs
- CodeCommentStatementCollection.cs
- XmlQueryRuntime.cs
- SectionRecord.cs
- RangeContentEnumerator.cs
- RepeatBehaviorConverter.cs
- DelayedRegex.cs
- FontWeights.cs
- MethodMessage.cs
- Convert.cs
- TreeWalkHelper.cs
- UserControl.cs
- _UriSyntax.cs
- MetadataItemCollectionFactory.cs
- Debug.cs
- URLBuilder.cs
- TabPanel.cs
- EdmSchemaError.cs
- DataGridViewColumnStateChangedEventArgs.cs
- SimpleHandlerBuildProvider.cs
- CallContext.cs
- DataServiceCollectionOfT.cs
- AuthenticatingEventArgs.cs
- SessionSwitchEventArgs.cs
- DurableInstanceManager.cs
- EndOfStreamException.cs
- HttpProfileGroupBase.cs
- CacheDict.cs
- ProgressBarRenderer.cs
- SqlFacetAttribute.cs
- MenuItemStyleCollection.cs
- MSAAEventDispatcher.cs