Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / FlowDocumentScrollViewerAutomationPeer.cs / 1305600 / 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); } } else if (patternInterface == PatternInterface.SynchronizedInput) { returnValue = base.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
- PropertyValueChangedEvent.cs
- Subtree.cs
- NonVisualControlAttribute.cs
- sqlcontext.cs
- GeneralTransform2DTo3DTo2D.cs
- RequestQueryProcessor.cs
- SqlBulkCopy.cs
- Tokenizer.cs
- controlskin.cs
- HitTestWithPointDrawingContextWalker.cs
- panel.cs
- DocumentSchemaValidator.cs
- BamlCollectionHolder.cs
- LoadedOrUnloadedOperation.cs
- TreeViewHitTestInfo.cs
- StreamWithDictionary.cs
- EmptyEnumerator.cs
- OdbcConnectionString.cs
- ObjectCacheSettings.cs
- ConfigXmlDocument.cs
- CryptographicAttribute.cs
- BlobPersonalizationState.cs
- ModelFactory.cs
- IODescriptionAttribute.cs
- VariableDesigner.xaml.cs
- ContainerSelectorBehavior.cs
- RelationshipEndMember.cs
- BaseTemplateBuildProvider.cs
- NameObjectCollectionBase.cs
- DecimalStorage.cs
- Content.cs
- TypeReference.cs
- OracleMonthSpan.cs
- Viewport2DVisual3D.cs
- State.cs
- ChoiceConverter.cs
- UnsafeNativeMethods.cs
- PageContentCollection.cs
- RelatedCurrencyManager.cs
- HybridDictionary.cs
- MenuStrip.cs
- ObjectAnimationBase.cs
- Sequence.cs
- FirstMatchCodeGroup.cs
- KeyNotFoundException.cs
- UmAlQuraCalendar.cs
- XmlHierarchicalDataSourceView.cs
- List.cs
- DataColumnChangeEvent.cs
- TransformerInfoCollection.cs
- AppDomainAttributes.cs
- RequestCacheValidator.cs
- UnsafeNativeMethods.cs
- SrgsElement.cs
- UnsafeNativeMethods.cs
- OdbcParameter.cs
- PrefixQName.cs
- MessageFilter.cs
- TextSelectionHelper.cs
- KernelTypeValidation.cs
- ListChangedEventArgs.cs
- ManualResetEvent.cs
- SpoolingTask.cs
- ProviderManager.cs
- BuildProviderCollection.cs
- GregorianCalendar.cs
- __ConsoleStream.cs
- SystemResourceKey.cs
- InstanceDataCollectionCollection.cs
- DetailsViewPagerRow.cs
- CommonObjectSecurity.cs
- AssemblyAttributes.cs
- DateTimeSerializationSection.cs
- WebServiceClientProxyGenerator.cs
- ComponentConverter.cs
- ColumnClickEvent.cs
- SwitchElementsCollection.cs
- AuthenticationModuleElementCollection.cs
- DigestTraceRecordHelper.cs
- SecurityPolicySection.cs
- FrameworkObject.cs
- ProtocolViolationException.cs
- DataSourceHelper.cs
- NextPreviousPagerField.cs
- HatchBrush.cs
- RuleSettings.cs
- HealthMonitoringSection.cs
- EventEntry.cs
- FloatSumAggregationOperator.cs
- DockAndAnchorLayout.cs
- DataGridTextBoxColumn.cs
- PageContentAsyncResult.cs
- ToolStripDropDownButton.cs
- InstanceOwner.cs
- ProcessModule.cs
- TextCompositionManager.cs
- OverflowException.cs
- SqlUdtInfo.cs
- SignatureGenerator.cs
- WebPartMenu.cs