Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Automation / Peers / FlowDocumentScrollViewerAutomationPeer.cs / 1 / FlowDocumentScrollViewerAutomationPeer.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // File: FlowDocumentScrollViewerAutomationPeer.cs // // Description: AutomationPeer associated with FlowDocumentScrollViewer. // //--------------------------------------------------------------------------- using System.Collections.Generic; // Listusing System.Windows.Automation.Provider; // IScrollProvider using System.Windows.Controls; // FlowDocumentScrollViewer using System.Windows.Documents; // FlowDocument using MS.Internal.Documents; // IFlowDocumentViewer namespace System.Windows.Automation.Peers { /// /// AutomationPeer associated with FlowDocumentScrollViewer. /// public class FlowDocumentScrollViewerAutomationPeer : FrameworkElementAutomationPeer { ////// Constructor. /// /// Owner of the AutomationPeer. public FlowDocumentScrollViewerAutomationPeer(FlowDocumentScrollViewer owner) : base(owner) { } ////// public override object GetPattern(PatternInterface patternInterface) { object returnValue = null; if (patternInterface == PatternInterface.Scroll) { FlowDocumentScrollViewer owner = (FlowDocumentScrollViewer)Owner; if (owner.ScrollViewer != null) { AutomationPeer scrollPeer = UIElementAutomationPeer.CreatePeerForElement(owner.ScrollViewer); if (scrollPeer != null && scrollPeer is IScrollProvider) { scrollPeer.EventsSource = this; returnValue = scrollPeer; } } } else if (patternInterface == PatternInterface.Text) { // Make sure that Automation children are created. this.GetChildren(); // Re-expose TextPattern from hosted document. if (_documentPeer != null) { _documentPeer.EventsSource = this; returnValue = _documentPeer.GetPattern(patternInterface); } } return returnValue; } ////// /// ////// /// AutomationPeer associated with FlowDocumentScrollViewer returns an AutomationPeer /// for hosted Document and for elements in the style. /// protected override ListGetChildrenCore() { // Get children for all elements in the style. List children = base.GetChildrenCore(); // If the owner is IFlowDocumentViewer, it means that it is embedded inside // FlowDocumentReaer. In this case DocumentAutumationPeer is already exposed. // Hence there is no need to add it to children collection. if (!(Owner is IFlowDocumentViewer)) { // Add AutomationPeer associated with the document. // Make it the first child of the collection. FlowDocument document = ((FlowDocumentScrollViewer)Owner).Document; if (document != null) { AutomationPeer documentPeer = ContentElementAutomationPeer.CreatePeerForElement(document); if (_documentPeer != documentPeer) { if (_documentPeer != null) { _documentPeer.OnDisconnected(); } _documentPeer = documentPeer as DocumentAutomationPeer; } if (documentPeer != null) { if (children == null) { children = new List (); } children.Add(documentPeer); } } } return children; } /// /// protected override AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.Document; } ////// /// protected override string GetClassNameCore() { return "FlowDocumentScrollViewer"; } private DocumentAutomationPeer _documentPeer; } } // 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
- sapiproxy.cs
- SafeRightsManagementSessionHandle.cs
- TextCompositionManager.cs
- PreDigestedSignedInfo.cs
- SpeechSeg.cs
- GestureRecognizer.cs
- FileCodeGroup.cs
- KeyValueInternalCollection.cs
- ClockGroup.cs
- ParseHttpDate.cs
- ISessionStateStore.cs
- PageMediaSize.cs
- OverrideMode.cs
- OleDbDataReader.cs
- WebHttpBehavior.cs
- LogAppendAsyncResult.cs
- SystemSounds.cs
- LoginDesignerUtil.cs
- DataGridViewRowConverter.cs
- Int32CAMarshaler.cs
- Debug.cs
- ListViewDeleteEventArgs.cs
- ResponseStream.cs
- ActionFrame.cs
- ToolStripRenderer.cs
- ListViewGroup.cs
- VirtualDirectoryMapping.cs
- Filter.cs
- precedingsibling.cs
- ApplicationDirectoryMembershipCondition.cs
- Control.cs
- SendMailErrorEventArgs.cs
- UpnEndpointIdentity.cs
- OverflowException.cs
- _NetRes.cs
- SimpleApplicationHost.cs
- DbException.cs
- VariableQuery.cs
- EntityProxyTypeInfo.cs
- RegexFCD.cs
- BamlResourceContent.cs
- MenuCommands.cs
- SchemaElementLookUpTable.cs
- TakeQueryOptionExpression.cs
- DataBoundControlHelper.cs
- DataPagerFieldItem.cs
- FixUpCollection.cs
- WebPart.cs
- WindowsListViewItem.cs
- SemanticValue.cs
- TextContainerChangedEventArgs.cs
- ReflectionHelper.cs
- ConfigurationFileMap.cs
- WebServiceData.cs
- BamlTreeUpdater.cs
- RenderData.cs
- SubMenuStyleCollection.cs
- GridViewRow.cs
- SecurityProtocolFactory.cs
- CursorInteropHelper.cs
- AvTraceDetails.cs
- NetCodeGroup.cs
- NeutralResourcesLanguageAttribute.cs
- filewebresponse.cs
- LoginName.cs
- RightsManagementEncryptedStream.cs
- GeneralTransform2DTo3DTo2D.cs
- VSWCFServiceContractGenerator.cs
- SkinBuilder.cs
- TextServicesManager.cs
- Visitors.cs
- OutputCacheProfileCollection.cs
- Processor.cs
- WebPartConnectionsConnectVerb.cs
- Setter.cs
- CollectionViewGroupRoot.cs
- ListItemCollection.cs
- LinqDataSource.cs
- RangeValueProviderWrapper.cs
- ResponseStream.cs
- XmlBoundElement.cs
- RequestTimeoutManager.cs
- TraceSwitch.cs
- CompModSwitches.cs
- Set.cs
- Span.cs
- CleanUpVirtualizedItemEventArgs.cs
- DependencyPropertyKind.cs
- MessageContractImporter.cs
- QilChoice.cs
- ElementAtQueryOperator.cs
- Pens.cs
- InvalidPropValue.cs
- TextTreeTextNode.cs
- StrongNameUtility.cs
- QuotedPrintableStream.cs
- WebServiceMethodData.cs
- WindowsEditBoxRange.cs
- CorruptingExceptionCommon.cs
- DES.cs