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
- BufferCache.cs
- CommentAction.cs
- SingleConverter.cs
- AssertFilter.cs
- SettingsPropertyWrongTypeException.cs
- TaskFileService.cs
- SqlRewriteScalarSubqueries.cs
- PrivilegedConfigurationManager.cs
- InputMethodStateChangeEventArgs.cs
- ScrollViewerAutomationPeer.cs
- Int16AnimationBase.cs
- KerberosSecurityTokenProvider.cs
- XPathEmptyIterator.cs
- SqlRecordBuffer.cs
- CheckBoxField.cs
- XmlEntityReference.cs
- XmlSchemaProviderAttribute.cs
- EqualityComparer.cs
- CodeTypeMember.cs
- LocalizabilityAttribute.cs
- CustomAttribute.cs
- XmlSchemaAttributeGroupRef.cs
- TemplateBaseAction.cs
- StylusLogic.cs
- X509Certificate2.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- DefaultObjectMappingItemCollection.cs
- XamlReaderConstants.cs
- DigitShape.cs
- MessageHeaderInfoTraceRecord.cs
- MessageLoggingFilterTraceRecord.cs
- JsonQNameDataContract.cs
- FormCollection.cs
- AdRotatorDesigner.cs
- Version.cs
- EDesignUtil.cs
- TreeView.cs
- PerfCounters.cs
- SafeViewOfFileHandle.cs
- SequentialActivityDesigner.cs
- DataGridViewCellStyleChangedEventArgs.cs
- RowCache.cs
- DefaultAsyncDataDispatcher.cs
- ResourcePermissionBase.cs
- ButtonChrome.cs
- MaskedTextBoxDesignerActionList.cs
- invalidudtexception.cs
- WebReferencesBuildProvider.cs
- FormattedTextSymbols.cs
- SoapMessage.cs
- XmlSchemaChoice.cs
- ListSourceHelper.cs
- DNS.cs
- Activator.cs
- LinkConverter.cs
- WindowsAuthenticationModule.cs
- WebPartDescription.cs
- UriParserTemplates.cs
- DragDeltaEventArgs.cs
- SslStream.cs
- OrderByExpression.cs
- TiffBitmapEncoder.cs
- Pair.cs
- Validator.cs
- DispatcherSynchronizationContext.cs
- ToolStripItem.cs
- NGCUIElementCollectionSerializerAsync.cs
- OuterGlowBitmapEffect.cs
- ProviderCollection.cs
- LinqDataSourceUpdateEventArgs.cs
- AssociationEndMember.cs
- SessionState.cs
- EmptyEnumerator.cs
- MouseGesture.cs
- XmlBinaryReader.cs
- ProxyAssemblyNotLoadedException.cs
- PublisherIdentityPermission.cs
- PerspectiveCamera.cs
- CqlGenerator.cs
- MappingException.cs
- DurableInstancingOptions.cs
- CodeDOMProvider.cs
- UnsafeNativeMethodsMilCoreApi.cs
- LexicalChunk.cs
- Positioning.cs
- MenuItem.cs
- CodeMemberMethod.cs
- ViewPort3D.cs
- SourceFileBuildProvider.cs
- ValueUtilsSmi.cs
- WebServiceReceiveDesigner.cs
- ModelPerspective.cs
- FrameworkElement.cs
- ConnectionsZoneDesigner.cs
- ExpressionBindings.cs
- Package.cs
- MouseBinding.cs
- QuadraticBezierSegment.cs
- DiffuseMaterial.cs
- CodeTypeReferenceExpression.cs