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
- XmlDocumentSurrogate.cs
- NavigationWindowAutomationPeer.cs
- IntSecurity.cs
- DbExpressionBuilder.cs
- StateMachineSubscription.cs
- OperationFormatStyle.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- XmlCDATASection.cs
- SecurityCookieModeValidator.cs
- GeometryDrawing.cs
- Converter.cs
- ResourcePool.cs
- PopupRoot.cs
- Size.cs
- ClientConvert.cs
- SubtreeProcessor.cs
- ServiceChannelFactory.cs
- X509ChainPolicy.cs
- SqlEnums.cs
- DecimalStorage.cs
- SplayTreeNode.cs
- HtmlForm.cs
- SessionSymmetricMessageSecurityProtocolFactory.cs
- SelectionPattern.cs
- DesignerExtenders.cs
- ModuleBuilder.cs
- PositiveTimeSpanValidatorAttribute.cs
- DefaultAssemblyResolver.cs
- SqlDuplicator.cs
- StateChangeEvent.cs
- InputBuffer.cs
- LongValidator.cs
- WindowsScrollBar.cs
- VoiceObjectToken.cs
- DesignBindingPicker.cs
- ResXResourceWriter.cs
- NumericUpDownAccelerationCollection.cs
- FontDriver.cs
- KeyedHashAlgorithm.cs
- RegisteredDisposeScript.cs
- FrameworkTemplate.cs
- OlePropertyStructs.cs
- ScriptModule.cs
- Cursor.cs
- SessionStateUtil.cs
- ObjectManager.cs
- Rethrow.cs
- DataServiceQueryProvider.cs
- ReferentialConstraint.cs
- SafeNativeMethodsOther.cs
- WizardForm.cs
- ObjectNavigationPropertyMapping.cs
- XamlSerializationHelper.cs
- WebPartConnectionCollection.cs
- ToolStripLocationCancelEventArgs.cs
- VScrollProperties.cs
- WebPartDeleteVerb.cs
- ReachPageContentCollectionSerializerAsync.cs
- FirstMatchCodeGroup.cs
- SR.cs
- PropertyItemInternal.cs
- CanonicalFormWriter.cs
- RSAPKCS1SignatureFormatter.cs
- AssemblyBuilderData.cs
- BackStopAuthenticationModule.cs
- VarRefManager.cs
- EFTableProvider.cs
- XPathPatternBuilder.cs
- XmlResolver.cs
- ConfigurationStrings.cs
- RenameRuleObjectDialog.cs
- HostedElements.cs
- Fonts.cs
- PrintDocument.cs
- PriorityQueue.cs
- PopupEventArgs.cs
- ScrollBarRenderer.cs
- GiveFeedbackEvent.cs
- StructuredCompositeActivityDesigner.cs
- parserscommon.cs
- FunctionDetailsReader.cs
- DetailsViewUpdatedEventArgs.cs
- precedingsibling.cs
- sqlmetadatafactory.cs
- ActionFrame.cs
- RevocationPoint.cs
- TileBrush.cs
- SiteMapSection.cs
- HtmlInputReset.cs
- HtmlInputReset.cs
- DesignRelationCollection.cs
- NotImplementedException.cs
- ComponentEditorForm.cs
- CapabilitiesPattern.cs
- CachingHintValidation.cs
- FlowDocument.cs
- WhitespaceSignificantCollectionAttribute.cs
- DataTableMappingCollection.cs
- XmlSecureResolver.cs
- DbBuffer.cs