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
- WebPartDescription.cs
- KnowledgeBase.cs
- GeometryGroup.cs
- SQLDoubleStorage.cs
- FloatUtil.cs
- AbandonedMutexException.cs
- LambdaCompiler.Lambda.cs
- EventArgs.cs
- PageClientProxyGenerator.cs
- ReachDocumentSequenceSerializerAsync.cs
- PointHitTestResult.cs
- FilterableAttribute.cs
- Preprocessor.cs
- DataSourceXmlSubItemAttribute.cs
- UserUseLicenseDictionaryLoader.cs
- ThemeableAttribute.cs
- XmlNavigatorFilter.cs
- UnsupportedPolicyOptionsException.cs
- DataKeyPropertyAttribute.cs
- InternalSafeNativeMethods.cs
- InternalDuplexChannelFactory.cs
- BinHexEncoding.cs
- SystemWebExtensionsSectionGroup.cs
- RemotingException.cs
- GeometryGroup.cs
- DataGridTableCollection.cs
- ConfigXmlReader.cs
- InternalRelationshipCollection.cs
- HttpModuleCollection.cs
- ManifestSignatureInformation.cs
- ClickablePoint.cs
- FrameworkTextComposition.cs
- PanelStyle.cs
- adornercollection.cs
- Schema.cs
- DefaultTextStoreTextComposition.cs
- FormatException.cs
- HtmlDocument.cs
- HtmlDocument.cs
- LateBoundBitmapDecoder.cs
- TabPanel.cs
- DrawingAttributes.cs
- DataListCommandEventArgs.cs
- SystemIPInterfaceStatistics.cs
- HwndSubclass.cs
- documentsequencetextcontainer.cs
- CacheManager.cs
- AutomationPropertyInfo.cs
- AccessControlList.cs
- RemotingException.cs
- EntityDataSourceDesignerHelper.cs
- RegisteredHiddenField.cs
- LayoutTableCell.cs
- _NegoStream.cs
- ByteFacetDescriptionElement.cs
- MailWebEventProvider.cs
- CodeCatchClauseCollection.cs
- XmlSiteMapProvider.cs
- HtmlDocument.cs
- TimelineClockCollection.cs
- OutputCacheSection.cs
- ADConnectionHelper.cs
- Parameter.cs
- EnlistmentState.cs
- InternalBufferOverflowException.cs
- MachineKeyConverter.cs
- HostProtectionPermission.cs
- SafeFileMappingHandle.cs
- SingleAnimation.cs
- MediaTimeline.cs
- IntegerValidator.cs
- FontDriver.cs
- WorkflowInstanceExtensionManager.cs
- XmlNamespaceMappingCollection.cs
- DataServiceExpressionVisitor.cs
- _FixedSizeReader.cs
- CornerRadius.cs
- StrokeIntersection.cs
- PropertyGeneratedEventArgs.cs
- DeclarativeCatalogPartDesigner.cs
- UserPreferenceChangingEventArgs.cs
- JapaneseLunisolarCalendar.cs
- AccessKeyManager.cs
- StaticResourceExtension.cs
- AspNetSynchronizationContext.cs
- TextEditorContextMenu.cs
- safesecurityhelperavalon.cs
- RoutedPropertyChangedEventArgs.cs
- COSERVERINFO.cs
- UnsafeNativeMethods.cs
- CodeDelegateCreateExpression.cs
- InstanceLockQueryResult.cs
- XmlLanguage.cs
- LinqDataSourceInsertEventArgs.cs
- BinaryParser.cs
- ListDictionaryInternal.cs
- ObjectViewEntityCollectionData.cs
- LookupTables.cs
- SplitterCancelEvent.cs
- SharedStatics.cs