Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- SiteOfOriginPart.cs
- ForeignConstraint.cs
- RuntimeConfigurationRecord.cs
- FontSizeConverter.cs
- SubpageParagraph.cs
- EncryptedPackageFilter.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- CompatibleComparer.cs
- DateTimeFormatInfoScanner.cs
- ProxyManager.cs
- BlurEffect.cs
- FrameworkContentElementAutomationPeer.cs
- SmiTypedGetterSetter.cs
- SQLChars.cs
- ResourceIDHelper.cs
- SystemDropShadowChrome.cs
- StrongBox.cs
- ScopedKnownTypes.cs
- _Connection.cs
- LambdaCompiler.Logical.cs
- IncomingWebResponseContext.cs
- XmlByteStreamReader.cs
- TypefaceCollection.cs
- OrderedDictionary.cs
- ObjectTag.cs
- ListItemConverter.cs
- RankException.cs
- SqlCrossApplyToCrossJoin.cs
- wgx_sdk_version.cs
- ProtocolElementCollection.cs
- SystemDiagnosticsSection.cs
- IndependentAnimationStorage.cs
- EastAsianLunisolarCalendar.cs
- WindowsFormsHelpers.cs
- DiagnosticsConfigurationHandler.cs
- SafeLibraryHandle.cs
- InputLanguageEventArgs.cs
- WebScriptEnablingElement.cs
- followingsibling.cs
- LockCookie.cs
- SqlServer2KCompatibilityAnnotation.cs
- HttpApplicationFactory.cs
- StructuredCompositeActivityDesigner.cs
- BCLDebug.cs
- HttpCachePolicy.cs
- ReadOnlyDictionary.cs
- ConfigurationSection.cs
- NotImplementedException.cs
- RotateTransform3D.cs
- MailSettingsSection.cs
- SmtpReplyReaderFactory.cs
- CodeSpit.cs
- ManagementObjectSearcher.cs
- Geometry.cs
- QilDataSource.cs
- ErrorInfoXmlDocument.cs
- XamlGridLengthSerializer.cs
- DocumentPageViewAutomationPeer.cs
- PageCodeDomTreeGenerator.cs
- EntityDataSourceReferenceGroup.cs
- XmlAnyElementAttributes.cs
- QueryExecutionOption.cs
- XmlValidatingReader.cs
- InputProcessorProfilesLoader.cs
- HandlerBase.cs
- DataKey.cs
- TextServicesLoader.cs
- HtmlControlPersistable.cs
- BulletedListEventArgs.cs
- SerialReceived.cs
- metadatamappinghashervisitor.cs
- MethodCallExpression.cs
- HtmlUtf8RawTextWriter.cs
- StylusTouchDevice.cs
- PriorityBinding.cs
- MessageEncoderFactory.cs
- PriorityChain.cs
- _LazyAsyncResult.cs
- ReadWriteSpinLock.cs
- FontFamilyConverter.cs
- PriorityChain.cs
- SafeMILHandle.cs
- FontStyle.cs
- ReadOnlyNameValueCollection.cs
- InvalidOleVariantTypeException.cs
- CellRelation.cs
- TraceUtility.cs
- TypeCodeDomSerializer.cs
- LinqDataSourceContextEventArgs.cs
- MsmqBindingMonitor.cs
- SqlWriter.cs
- DataObjectSettingDataEventArgs.cs
- WebServiceParameterData.cs
- Thickness.cs
- UDPClient.cs
- XmlUnspecifiedAttribute.cs
- AttributeQuery.cs
- ReadOnlyObservableCollection.cs
- EFDataModelProvider.cs
- PhonemeConverter.cs