Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / DocumentViewerBaseAutomationPeer.cs / 1305600 / DocumentViewerBaseAutomationPeer.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // File: DocumentViewerBaseAutomationPeer.cs // // Description: AutomationPeer associated with DocumentViewerBase. // //--------------------------------------------------------------------------- using System.Collections.Generic; // Listusing System.Windows.Controls.Primitives; // DocumentViewerBase using System.Windows.Documents; // IDocumentPaginatorSource namespace System.Windows.Automation.Peers { /// /// AutomationPeer associated with DocumentViewerBase. /// public class DocumentViewerBaseAutomationPeer : FrameworkElementAutomationPeer { ////// Constructor. /// /// Owner of the AutomationPeer. public DocumentViewerBaseAutomationPeer(DocumentViewerBase owner) : base(owner) { } ////// public override object GetPattern(PatternInterface patternInterface) { object returnValue = null; 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 { returnValue = base.GetPattern(patternInterface); } return returnValue; } ////// /// ////// /// AutomationPeer associated with DocumentViewerBase 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(); // Add AutomationPeer associated with the document. // Make it the first child of the collection. AutomationPeer documentPeer = GetDocumentAutomationPeer(); 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 "DocumentViewer"; } ////// /// Retrieves AutomationPeer for the document. /// ///private AutomationPeer GetDocumentAutomationPeer() { AutomationPeer documentPeer = null; IDocumentPaginatorSource document = ((DocumentViewerBase)Owner).Document; if (document != null) { if (document is UIElement) { documentPeer = UIElementAutomationPeer.CreatePeerForElement((UIElement)document); } else if (document is ContentElement) { documentPeer = ContentElementAutomationPeer.CreatePeerForElement((ContentElement)document); } } return documentPeer; } private DocumentAutomationPeer _documentPeer; } } // 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: DocumentViewerBaseAutomationPeer.cs // // Description: AutomationPeer associated with DocumentViewerBase. // //--------------------------------------------------------------------------- using System.Collections.Generic; // List using System.Windows.Controls.Primitives; // DocumentViewerBase using System.Windows.Documents; // IDocumentPaginatorSource namespace System.Windows.Automation.Peers { /// /// AutomationPeer associated with DocumentViewerBase. /// public class DocumentViewerBaseAutomationPeer : FrameworkElementAutomationPeer { ////// Constructor. /// /// Owner of the AutomationPeer. public DocumentViewerBaseAutomationPeer(DocumentViewerBase owner) : base(owner) { } ////// public override object GetPattern(PatternInterface patternInterface) { object returnValue = null; 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 { returnValue = base.GetPattern(patternInterface); } return returnValue; } ////// /// ////// /// AutomationPeer associated with DocumentViewerBase 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(); // Add AutomationPeer associated with the document. // Make it the first child of the collection. AutomationPeer documentPeer = GetDocumentAutomationPeer(); 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 "DocumentViewer"; } ////// /// Retrieves AutomationPeer for the document. /// ///private AutomationPeer GetDocumentAutomationPeer() { AutomationPeer documentPeer = null; IDocumentPaginatorSource document = ((DocumentViewerBase)Owner).Document; if (document != null) { if (document is UIElement) { documentPeer = UIElementAutomationPeer.CreatePeerForElement((UIElement)document); } else if (document is ContentElement) { documentPeer = ContentElementAutomationPeer.CreatePeerForElement((ContentElement)document); } } return documentPeer; } 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
- PropertyDescriptorCollection.cs
- DesignTimeDataBinding.cs
- ObjectListField.cs
- FillBehavior.cs
- documentsequencetextcontainer.cs
- ControlCollection.cs
- HtmlTable.cs
- RectValueSerializer.cs
- GregorianCalendarHelper.cs
- PointLight.cs
- XmlSchemaAnnotation.cs
- SafeRightsManagementHandle.cs
- AddressAccessDeniedException.cs
- WebPartCancelEventArgs.cs
- PageSettings.cs
- X509ChainElement.cs
- ClientTargetCollection.cs
- ViewgenContext.cs
- CacheForPrimitiveTypes.cs
- SimpleMailWebEventProvider.cs
- HitTestFilterBehavior.cs
- ThumbAutomationPeer.cs
- FontInfo.cs
- EntityDataSourceDataSelection.cs
- DataExpression.cs
- DescendentsWalkerBase.cs
- XslNumber.cs
- PathFigure.cs
- ImportContext.cs
- ListViewInsertedEventArgs.cs
- PageThemeParser.cs
- RootBuilder.cs
- SmiEventSink_DeferedProcessing.cs
- WinEventHandler.cs
- unsafenativemethodstextservices.cs
- DbDataSourceEnumerator.cs
- dtdvalidator.cs
- SecurityManager.cs
- DataListItemEventArgs.cs
- TabPanel.cs
- uribuilder.cs
- HttpInputStream.cs
- IsolatedStorageFileStream.cs
- SafeRightsManagementQueryHandle.cs
- ImageClickEventArgs.cs
- PersonalizationProvider.cs
- RoutingSection.cs
- TextCollapsingProperties.cs
- XamlDesignerSerializationManager.cs
- SchemaDeclBase.cs
- CategoryNameCollection.cs
- _TransmitFileOverlappedAsyncResult.cs
- XmlSchemaSequence.cs
- StringConverter.cs
- KeyManager.cs
- DropShadowBitmapEffect.cs
- cookiecontainer.cs
- RecommendedAsConfigurableAttribute.cs
- LayoutTable.cs
- SafeIUnknown.cs
- SyndicationSerializer.cs
- SecurityDocument.cs
- ServiceModelDictionary.cs
- RuntimeIdentifierPropertyAttribute.cs
- XmlILStorageConverter.cs
- SID.cs
- MapPathBasedVirtualPathProvider.cs
- FieldDescriptor.cs
- SecurityHelper.cs
- PersistChildrenAttribute.cs
- DispatcherExceptionEventArgs.cs
- TracedNativeMethods.cs
- TableStyle.cs
- MetadataPropertyvalue.cs
- BindingWorker.cs
- PageRanges.cs
- PictureBox.cs
- PathGeometry.cs
- SizeFConverter.cs
- GridViewRow.cs
- ProviderConnectionPointCollection.cs
- DataReaderContainer.cs
- SingleKeyFrameCollection.cs
- Tablet.cs
- TableColumnCollection.cs
- ContentPlaceHolder.cs
- ContractMapping.cs
- AxHost.cs
- BasicExpandProvider.cs
- ConfigurationManagerHelper.cs
- UserControlParser.cs
- WindowsFormsSectionHandler.cs
- WsatConfiguration.cs
- AssemblyCache.cs
- XmlMembersMapping.cs
- SingleTagSectionHandler.cs
- SqlException.cs
- MemberDescriptor.cs
- XmlQualifiedNameTest.cs
- MiniAssembly.cs