Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / FlowDocumentScrollViewerAutomationPeer.cs / 1305600 / 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); } } else if (patternInterface == PatternInterface.SynchronizedInput) { returnValue = base.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
- AnnotationAuthorChangedEventArgs.cs
- ErrorHandler.cs
- InvalidDocumentContentsException.cs
- DataColumnMappingCollection.cs
- DataServiceQuery.cs
- InfoCardCryptoHelper.cs
- WriteStateInfoBase.cs
- StylusPointProperties.cs
- StoreItemCollection.cs
- WebPartChrome.cs
- ColumnPropertiesGroup.cs
- ByteStreamGeometryContext.cs
- PageAsyncTask.cs
- DockPanel.cs
- BrushMappingModeValidation.cs
- ResizeGrip.cs
- UriTemplateDispatchFormatter.cs
- InnerItemCollectionView.cs
- ImageClickEventArgs.cs
- ExtendedPropertyDescriptor.cs
- SqlNotificationRequest.cs
- WebPartAddingEventArgs.cs
- ScrollProviderWrapper.cs
- ImageUrlEditor.cs
- PermissionSet.cs
- BaseTemplateBuildProvider.cs
- DebugInfoExpression.cs
- CopyNamespacesAction.cs
- HttpServerVarsCollection.cs
- PropertySet.cs
- MatrixConverter.cs
- MenuItemBinding.cs
- ConnectionsZoneAutoFormat.cs
- InvalidPrinterException.cs
- BuildResult.cs
- ProtectedProviderSettings.cs
- SchemaNamespaceManager.cs
- WorkflowServiceBehavior.cs
- ProgressBarRenderer.cs
- BamlStream.cs
- XmlValidatingReader.cs
- MemoryMappedViewStream.cs
- ThicknessKeyFrameCollection.cs
- CodeObject.cs
- SchemaConstraints.cs
- SkinBuilder.cs
- XmlILConstructAnalyzer.cs
- CodeConditionStatement.cs
- ParamArrayAttribute.cs
- SmtpDigestAuthenticationModule.cs
- WebServiceErrorEvent.cs
- MemberInfoSerializationHolder.cs
- PeerInvitationResponse.cs
- GACMembershipCondition.cs
- HostSecurityManager.cs
- MULTI_QI.cs
- RegexRunner.cs
- ReferenceConverter.cs
- ScriptResourceAttribute.cs
- LicenseManager.cs
- SocketInformation.cs
- StatusBarPanelClickEvent.cs
- XmlDigitalSignatureProcessor.cs
- XMLUtil.cs
- ConfigPathUtility.cs
- ProgressBar.cs
- ComEventsHelper.cs
- TextRangeAdaptor.cs
- FieldAccessException.cs
- UpDownBase.cs
- FamilyTypefaceCollection.cs
- ObjectConverter.cs
- DoubleCollectionValueSerializer.cs
- SmtpLoginAuthenticationModule.cs
- GeneralTransform3DTo2DTo3D.cs
- RewritingValidator.cs
- Run.cs
- GuidConverter.cs
- BitmapPalettes.cs
- XhtmlMobileTextWriter.cs
- OutgoingWebRequestContext.cs
- compensatingcollection.cs
- WindowsStatusBar.cs
- TraceLevelHelper.cs
- Win32KeyboardDevice.cs
- ServiceObjectContainer.cs
- MatrixTransform3D.cs
- SlipBehavior.cs
- CommandID.cs
- future.cs
- TableCellCollection.cs
- ButtonBaseAdapter.cs
- FontConverter.cs
- SafeRegistryHandle.cs
- ExtendedPropertyDescriptor.cs
- AppDomain.cs
- HostUtils.cs
- IriParsingElement.cs
- XhtmlBasicFormAdapter.cs
- SqlDependencyListener.cs