Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Automation / Peers / FlowDocumentScrollViewerAutomationPeer.cs / 1 / 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); } } 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
- Size3D.cs
- XmlDataDocument.cs
- StorageEntityTypeMapping.cs
- SystemIPGlobalStatistics.cs
- AnimationClockResource.cs
- DayRenderEvent.cs
- _NegoStream.cs
- NavigationHelper.cs
- WeakEventTable.cs
- TabItem.cs
- DefaultPropertyAttribute.cs
- LogSwitch.cs
- XmlCompatibilityReader.cs
- sqlser.cs
- ProxyGenerator.cs
- UnsafeNativeMethods.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- ControlDesigner.cs
- StoryFragments.cs
- WizardPanelChangingEventArgs.cs
- FileDetails.cs
- SwitchAttribute.cs
- DetailsView.cs
- OutputCacheSection.cs
- MruCache.cs
- DocumentOrderQuery.cs
- BrowserInteropHelper.cs
- TriggerActionCollection.cs
- FileLoadException.cs
- Int32AnimationBase.cs
- DynamicActivity.cs
- WebScriptEndpoint.cs
- ScrollBar.cs
- BamlLocalizationDictionary.cs
- DataGridViewMethods.cs
- SrgsSemanticInterpretationTag.cs
- TreeNode.cs
- FontConverter.cs
- Vector3dCollection.cs
- XhtmlBasicLabelAdapter.cs
- WindowsFormsSynchronizationContext.cs
- FragmentQuery.cs
- DesignConnection.cs
- TextCollapsingProperties.cs
- RemotingException.cs
- SqlTriggerContext.cs
- PrintPreviewGraphics.cs
- InstanceOwnerException.cs
- WebPartTransformer.cs
- ToolBar.cs
- CreateUserErrorEventArgs.cs
- SystemWebSectionGroup.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ToolStripSplitStackLayout.cs
- AsnEncodedData.cs
- ImageListUtils.cs
- EventLogEntry.cs
- DataGridRowClipboardEventArgs.cs
- TextTreeDeleteContentUndoUnit.cs
- MeshGeometry3D.cs
- CroppedBitmap.cs
- X509CertificateClaimSet.cs
- GACIdentityPermission.cs
- LockedActivityGlyph.cs
- FontResourceCache.cs
- DataGridLinkButton.cs
- LabelDesigner.cs
- AnnotationStore.cs
- HttpModuleAction.cs
- EDesignUtil.cs
- CommandHelper.cs
- MetadataCollection.cs
- Literal.cs
- MemoryMappedFile.cs
- XmlSchemaNotation.cs
- ControlAdapter.cs
- OrthographicCamera.cs
- SqlBulkCopy.cs
- SchemaConstraints.cs
- HandlerBase.cs
- FormsAuthenticationTicket.cs
- WinEventQueueItem.cs
- HiddenField.cs
- WorkflowMessageEventArgs.cs
- DtdParser.cs
- XNameConverter.cs
- TextDecoration.cs
- PersonalizationState.cs
- OleDbReferenceCollection.cs
- ObjectResult.cs
- BitmapFrame.cs
- ColumnHeaderConverter.cs
- EventItfInfo.cs
- Atom10FeedFormatter.cs
- WsdlBuildProvider.cs
- DbConnectionPool.cs
- NullableFloatMinMaxAggregationOperator.cs
- AssemblyFilter.cs
- XmlAttributeCollection.cs
- ButtonField.cs