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
- DoubleSumAggregationOperator.cs
- SqlParameter.cs
- DataGridViewHeaderCell.cs
- DataContractSerializerFaultFormatter.cs
- ButtonField.cs
- DependentList.cs
- DesignerDataParameter.cs
- NumberSubstitution.cs
- IIS7WorkerRequest.cs
- PointAnimationUsingKeyFrames.cs
- PixelFormatConverter.cs
- AdapterUtil.cs
- LinkClickEvent.cs
- XmlMapping.cs
- ObjectDisposedException.cs
- CompressEmulationStream.cs
- EpmTargetPathSegment.cs
- FullTextState.cs
- XmlTextReader.cs
- Substitution.cs
- AtomMaterializerLog.cs
- _DisconnectOverlappedAsyncResult.cs
- SHA512.cs
- MetadataSource.cs
- XmlSerializer.cs
- _ListenerResponseStream.cs
- CharacterString.cs
- ClientSettingsSection.cs
- EncoderParameter.cs
- MappingItemCollection.cs
- LicFileLicenseProvider.cs
- TreeChangeInfo.cs
- Interfaces.cs
- OleDbEnumerator.cs
- XmlReader.cs
- ConsoleCancelEventArgs.cs
- BindingNavigatorDesigner.cs
- NativeMethods.cs
- WriterOutput.cs
- GroupDescription.cs
- SponsorHelper.cs
- EntityContainerEntitySet.cs
- NetCodeGroup.cs
- Path.cs
- ReservationNotFoundException.cs
- BlobPersonalizationState.cs
- COM2PropertyPageUITypeConverter.cs
- AuthenticationModulesSection.cs
- TdsRecordBufferSetter.cs
- ErasingStroke.cs
- Application.cs
- TextMetrics.cs
- PanelStyle.cs
- ElementMarkupObject.cs
- LoadedOrUnloadedOperation.cs
- Adorner.cs
- XPathPatternBuilder.cs
- CodePropertyReferenceExpression.cs
- ByteStorage.cs
- HashAlgorithm.cs
- ToolStripItemRenderEventArgs.cs
- RequestCachingSection.cs
- sqlmetadatafactory.cs
- SessionEndingCancelEventArgs.cs
- ExpandableObjectConverter.cs
- PrivateFontCollection.cs
- FileDialog.cs
- ObjectReaderCompiler.cs
- SignedXml.cs
- BitConverter.cs
- CollectionView.cs
- SyndicationDeserializer.cs
- ControlBuilderAttribute.cs
- ProxyWebPart.cs
- XPathMultyIterator.cs
- TraceListener.cs
- ScrollBarRenderer.cs
- ZipIOModeEnforcingStream.cs
- OptionalColumn.cs
- ColorConvertedBitmap.cs
- WebPartTransformer.cs
- SatelliteContractVersionAttribute.cs
- ClientScriptManagerWrapper.cs
- WindowsFormsEditorServiceHelper.cs
- IOThreadScheduler.cs
- WebPartHelpVerb.cs
- AssemblyBuilder.cs
- xamlnodes.cs
- ResourceSet.cs
- FormsAuthenticationTicket.cs
- X509ClientCertificateCredentialsElement.cs
- ListViewInsertEventArgs.cs
- safelinkcollection.cs
- TreeBuilder.cs
- SymDocumentType.cs
- Configuration.cs
- FontClient.cs
- DrawingContextFlattener.cs
- DelayedRegex.cs
- RadioButtonRenderer.cs