Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- PopupEventArgs.cs
- TextRunCache.cs
- VectorCollection.cs
- SurrogateEncoder.cs
- Parameter.cs
- RepeatButtonAutomationPeer.cs
- RadioButtonRenderer.cs
- RemotingConfiguration.cs
- UIElementIsland.cs
- Cloud.cs
- OverflowException.cs
- UncommonField.cs
- FastEncoderStatics.cs
- RangeValidator.cs
- ObjectItemConventionAssemblyLoader.cs
- RelationalExpressions.cs
- Stackframe.cs
- Rule.cs
- HtmlElementEventArgs.cs
- TableCellsCollectionEditor.cs
- ExpressionVisitor.cs
- RepeaterItem.cs
- KeyConstraint.cs
- CodeTypeParameter.cs
- EntityDataSourceSelectedEventArgs.cs
- MenuAutomationPeer.cs
- ToolStripGripRenderEventArgs.cs
- TimersDescriptionAttribute.cs
- StringAttributeCollection.cs
- Drawing.cs
- SafeCryptContextHandle.cs
- TypeUtil.cs
- X509CertificateValidator.cs
- MemberExpression.cs
- AsymmetricKeyExchangeDeformatter.cs
- ElementProxy.cs
- StorageEntitySetMapping.cs
- TransformValueSerializer.cs
- PrintDialogException.cs
- HttpWebRequest.cs
- JsonMessageEncoderFactory.cs
- DictionaryBase.cs
- TerminatorSinks.cs
- SiteMapNodeItem.cs
- StackSpiller.Bindings.cs
- KeysConverter.cs
- DrawingContextDrawingContextWalker.cs
- AutoFocusStyle.xaml.cs
- GestureRecognitionResult.cs
- HttpProtocolImporter.cs
- CodeAttributeDeclarationCollection.cs
- ContextQuery.cs
- DataKey.cs
- SendActivityValidator.cs
- ScrollableControl.cs
- CompiledQuery.cs
- DecoderExceptionFallback.cs
- Oci.cs
- LinqDataSourceHelper.cs
- HttpFileCollectionWrapper.cs
- SchemaElementLookUpTableEnumerator.cs
- BooleanStorage.cs
- DependencyObjectType.cs
- UiaCoreApi.cs
- MetabaseSettings.cs
- XmlAttributeCache.cs
- DataStreamFromComStream.cs
- TransformCryptoHandle.cs
- MultiAsyncResult.cs
- COAUTHIDENTITY.cs
- BitmapInitialize.cs
- Faults.cs
- Screen.cs
- PropertyBuilder.cs
- ParameterEditorUserControl.cs
- FileDialog_Vista_Interop.cs
- ResourcesGenerator.cs
- ObjectViewFactory.cs
- ProfileParameter.cs
- ChameleonKey.cs
- XamlStyleSerializer.cs
- EntityTransaction.cs
- PaperSize.cs
- FormViewDeletedEventArgs.cs
- DataDocumentXPathNavigator.cs
- StringStorage.cs
- PageStatePersister.cs
- WebControlAdapter.cs
- SByteConverter.cs
- DefaultDialogButtons.cs
- DateTimeValueSerializerContext.cs
- XmlSchemaExporter.cs
- UdpChannelFactory.cs
- DataGridColumnCollection.cs
- TrackingLocation.cs
- LocatorGroup.cs
- WpfPayload.cs
- TimerEventSubscription.cs
- BackgroundWorker.cs
- TypeSystem.cs