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
- DesignTimeParseData.cs
- UnknownMessageReceivedEventArgs.cs
- EventHandlerService.cs
- LinkClickEvent.cs
- cookie.cs
- UnitySerializationHolder.cs
- StopStoryboard.cs
- MobileCapabilities.cs
- PropertyInfoSet.cs
- EnterpriseServicesHelper.cs
- FormsAuthenticationUserCollection.cs
- SecurityResources.cs
- JobStaple.cs
- AdRotatorDesigner.cs
- DbParameterCollection.cs
- IOException.cs
- DragStartedEventArgs.cs
- TransformPatternIdentifiers.cs
- TimerElapsedEvenArgs.cs
- NativeCppClassAttribute.cs
- EntityContainerEmitter.cs
- PermissionSetEnumerator.cs
- dataprotectionpermission.cs
- Decoder.cs
- PasswordDeriveBytes.cs
- AssemblyResolver.cs
- IntersectQueryOperator.cs
- VisualStyleTypesAndProperties.cs
- ToolStripDropDownClosingEventArgs.cs
- PathFigureCollectionConverter.cs
- XmlSchemaCollection.cs
- WebControlAdapter.cs
- SafeNativeMethods.cs
- BinaryMethodMessage.cs
- Token.cs
- SelectionEditingBehavior.cs
- XmlAttributeHolder.cs
- DataServiceExpressionVisitor.cs
- ControlPropertyNameConverter.cs
- MenuItemAutomationPeer.cs
- XmlDataDocument.cs
- ITreeGenerator.cs
- SqlGenerator.cs
- VariantWrapper.cs
- _ConnectionGroup.cs
- WinInetCache.cs
- HebrewCalendar.cs
- ObjectTypeMapping.cs
- WorkflowRuntimeBehavior.cs
- DataObjectFieldAttribute.cs
- PublisherIdentityPermission.cs
- PropagatorResult.cs
- ComplexLine.cs
- TableItemPatternIdentifiers.cs
- MembershipSection.cs
- QueryOperationResponseOfT.cs
- OleDbCommand.cs
- ObsoleteAttribute.cs
- XmlElementCollection.cs
- ColumnMapCopier.cs
- SplitterPanel.cs
- DynamicQueryableWrapper.cs
- AnnotationResource.cs
- DbMetaDataFactory.cs
- MediaPlayerState.cs
- ZoneButton.cs
- PersonalizationProvider.cs
- Expression.cs
- XPathNodeList.cs
- NetworkInformationException.cs
- WebPartTracker.cs
- ErrorActivity.cs
- HttpDictionary.cs
- CacheForPrimitiveTypes.cs
- XmlSchemaAny.cs
- OpenFileDialog.cs
- TemplateGroupCollection.cs
- SystemResourceKey.cs
- ExtensionQuery.cs
- ConfigurationPropertyAttribute.cs
- AllMembershipCondition.cs
- ProxySimple.cs
- MarshalByValueComponent.cs
- HighlightComponent.cs
- WindowsFormsLinkLabel.cs
- SchemaHelper.cs
- TemplateInstanceAttribute.cs
- TextMessageEncodingBindingElement.cs
- RuleInfoComparer.cs
- ListViewDeleteEventArgs.cs
- SystemWebCachingSectionGroup.cs
- ColorPalette.cs
- RangeValidator.cs
- Certificate.cs
- Token.cs
- TextContainerChangedEventArgs.cs
- WebPartConnectionsEventArgs.cs
- SiteMapNodeItemEventArgs.cs
- Int16AnimationBase.cs
- ChangeNode.cs