Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- Action.cs
- LinkLabel.cs
- oledbmetadatacollectionnames.cs
- ConnectionStringSettings.cs
- EmbeddedMailObject.cs
- ListCommandEventArgs.cs
- LinqDataSourceDisposeEventArgs.cs
- InkCanvasSelection.cs
- Vector3DAnimationUsingKeyFrames.cs
- AggregationMinMaxHelpers.cs
- VectorAnimation.cs
- ComponentRenameEvent.cs
- Unit.cs
- X509ChainElement.cs
- SpotLight.cs
- ReaderContextStackData.cs
- PageSettings.cs
- DataGridViewColumnCollectionDialog.cs
- PageCodeDomTreeGenerator.cs
- BaseDataBoundControl.cs
- AuthenticationModulesSection.cs
- TdsParameterSetter.cs
- UniqueContractNameValidationBehavior.cs
- LocalizationCodeDomSerializer.cs
- mediaclock.cs
- CLSCompliantAttribute.cs
- FrameworkContentElement.cs
- TakeOrSkipQueryOperator.cs
- DataControlFieldHeaderCell.cs
- ZipPackagePart.cs
- ExpressionBuilderContext.cs
- DrawingContextWalker.cs
- TreeSet.cs
- ConstructorExpr.cs
- CopyAction.cs
- CodeDomDecompiler.cs
- DataObject.cs
- DbDataAdapter.cs
- smtppermission.cs
- GroupItemAutomationPeer.cs
- NetWebProxyFinder.cs
- NavigationPropertySingletonExpression.cs
- PeerUnsafeNativeCryptMethods.cs
- FileDialogCustomPlacesCollection.cs
- MissingMemberException.cs
- WebServiceParameterData.cs
- HashMembershipCondition.cs
- EdmScalarPropertyAttribute.cs
- GridViewPageEventArgs.cs
- ConfigUtil.cs
- AssemblyAttributesGoHere.cs
- SystemIcmpV4Statistics.cs
- XmlSchemaElement.cs
- InfiniteTimeSpanConverter.cs
- ScrollableControlDesigner.cs
- VideoDrawing.cs
- EpmHelper.cs
- SrgsNameValueTag.cs
- ByteArrayHelperWithString.cs
- ExecutorLocksHeldException.cs
- ProxyManager.cs
- BasePattern.cs
- Italic.cs
- SHA512.cs
- SqlDataSourceCache.cs
- WebPartVerbsEventArgs.cs
- DemultiplexingClientMessageFormatter.cs
- DataControlFieldHeaderCell.cs
- XmlElement.cs
- StaticTextPointer.cs
- RowUpdatingEventArgs.cs
- smtppermission.cs
- webbrowsersite.cs
- ExclusiveTcpListener.cs
- ForceCopyBuildProvider.cs
- Rectangle.cs
- ColorBlend.cs
- DictionaryGlobals.cs
- SchemaElementLookUpTable.cs
- CompoundFileStreamReference.cs
- LinqDataSourceStatusEventArgs.cs
- ProjectedSlot.cs
- XPathChildIterator.cs
- UntrustedRecipientException.cs
- InstanceLockException.cs
- SpotLight.cs
- Match.cs
- Listbox.cs
- cookieexception.cs
- EditorZone.cs
- WindowsPrincipal.cs
- ZipFileInfoCollection.cs
- TextViewSelectionProcessor.cs
- ToolBar.cs
- ErrorFormatter.cs
- Size3D.cs
- GifBitmapDecoder.cs
- SafeUserTokenHandle.cs
- IteratorDescriptor.cs
- TypeBuilder.cs