Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Automation / Peers / DocumentViewerBaseAutomationPeer.cs / 1 / 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); } } 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); } } 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
- KeyEvent.cs
- MdImport.cs
- XmlSchemaElement.cs
- ComPlusServiceHost.cs
- DataSpaceManager.cs
- DBPropSet.cs
- WebHttpSecurityModeHelper.cs
- AnimatedTypeHelpers.cs
- HwndProxyElementProvider.cs
- PathGradientBrush.cs
- XPathDocumentIterator.cs
- Stylesheet.cs
- NullExtension.cs
- PlatformNotSupportedException.cs
- CallId.cs
- RegistryExceptionHelper.cs
- TileBrush.cs
- NetworkInterface.cs
- ToggleButton.cs
- Freezable.cs
- Scheduler.cs
- XmlIlVisitor.cs
- DependencyPropertyChangedEventArgs.cs
- HandlerFactoryCache.cs
- StructuredTypeEmitter.cs
- COM2Properties.cs
- WSDualHttpBindingCollectionElement.cs
- OptimizedTemplateContentHelper.cs
- DbConnectionClosed.cs
- MasterPageBuildProvider.cs
- X509WindowsSecurityToken.cs
- TypeDelegator.cs
- GB18030Encoding.cs
- unsafenativemethodstextservices.cs
- Camera.cs
- AndCondition.cs
- LocalizationCodeDomSerializer.cs
- TaskFormBase.cs
- AvTraceDetails.cs
- MessageQueueCriteria.cs
- IConvertible.cs
- HtmlFormParameterReader.cs
- XmlSchemaInclude.cs
- CompModHelpers.cs
- ConnectionInterfaceCollection.cs
- Timeline.cs
- ProtocolsConfiguration.cs
- EraserBehavior.cs
- DataObjectCopyingEventArgs.cs
- PrimitiveCodeDomSerializer.cs
- SqlStream.cs
- Restrictions.cs
- ToolStripAdornerWindowService.cs
- InvalidMessageContractException.cs
- XPathSelectionIterator.cs
- DefaultPropertiesToSend.cs
- SqlUdtInfo.cs
- GuidConverter.cs
- SystemThemeKey.cs
- TreeBuilder.cs
- UInt32.cs
- ServiceReference.cs
- UInt32Storage.cs
- GPPOINTF.cs
- PublisherIdentityPermission.cs
- EmptyStringExpandableObjectConverter.cs
- TemplateBindingExpressionConverter.cs
- Int16KeyFrameCollection.cs
- LinearGradientBrush.cs
- TableLayoutPanel.cs
- SafeTimerHandle.cs
- AttributeProviderAttribute.cs
- DataColumnMapping.cs
- TypeConverterAttribute.cs
- QuaternionAnimation.cs
- SpeechEvent.cs
- StandardTransformFactory.cs
- BaseValidatorDesigner.cs
- HttpDictionary.cs
- GridItemProviderWrapper.cs
- QueryableFilterRepeater.cs
- SafeNativeMethodsMilCoreApi.cs
- JoinSymbol.cs
- PointCollection.cs
- FontCacheLogic.cs
- DateTimeOffsetStorage.cs
- sqlmetadatafactory.cs
- WebContext.cs
- DependencyPropertyValueSerializer.cs
- SettingsSection.cs
- RowTypeElement.cs
- RoutedEventValueSerializer.cs
- ListManagerBindingsCollection.cs
- PeerReferralPolicy.cs
- DetailsViewDeletedEventArgs.cs
- webbrowsersite.cs
- _ContextAwareResult.cs
- BaseParser.cs
- Size3DConverter.cs
- NativeMethods.cs