Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / MS / Internal / Automation / VirtualizedItemProviderWrapper.cs / 1305600 / VirtualizedItemProviderWrapper.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Virtualized Item pattern provider wrapper for WPF // // History: // 10/22/2008 : [....] - created // //--------------------------------------------------------------------------- using System; using System.Windows.Threading; using System.Windows.Media; using System.Windows.Automation; using System.Windows.Automation.Provider; using System.Windows.Automation.Peers; namespace MS.Internal.Automation { // Automation/WPF Wrapper class: Implements that UIAutomation I...Provider // interface, and calls through to a WPF AutomationPeer which implements the corresponding // I...Provider inteface. Marshalls the call from the RPC thread onto the // target AutomationPeer's context. // // Class has two major parts to it: // * Implementation of the I...Provider, which uses Dispatcher.Invoke // to call a private method (lives in second half of the class) via a delegate, // if necessary, packages any params into an object param. Return type of Invoke // must be cast from object to appropriate type. // * private methods - one for each interface entry point - which get called back // on the right context. These call through to the peer that's actually // implenting the I...Provider version of the interface. internal class VirtualizedItemProviderWrapper : MarshalByRefObject, IVirtualizedItemProvider { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors private VirtualizedItemProviderWrapper(AutomationPeer peer, IVirtualizedItemProvider iface) { _peer = peer; _iface = iface; } #endregion Constructors //------------------------------------------------------ // // Interface IVirtualizedItemProvider // //----------------------------------------------------- #region Interface IVirtualizedItemProvider public void Realize() { ElementUtil.Invoke(_peer, new DispatcherOperationCallback(Realize), null); } #endregion Interface IVirtualizedItemProvider //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ #region Internal Methods internal static object Wrap(AutomationPeer peer, object iface) { return new VirtualizedItemProviderWrapper(peer, (IVirtualizedItemProvider)iface); } #endregion Internal Methods //----------------------------------------------------- // // Private Methods // //------------------------------------------------------ #region Private Methods private object Realize(object unused) { _iface.Realize(); return null; } #endregion Private Methods //----------------------------------------------------- // // Private Fields // //----------------------------------------------------- #region Private Fields private AutomationPeer _peer; private IVirtualizedItemProvider _iface; #endregion Private Fields } } // 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
- UIntPtr.cs
- WebSysDefaultValueAttribute.cs
- MobileControlDesigner.cs
- SplayTreeNode.cs
- path.cs
- AmbientLight.cs
- ControlCommandSet.cs
- ListViewTableCell.cs
- SeekableReadStream.cs
- DurableInstanceProvider.cs
- ContextStaticAttribute.cs
- GetParentChain.cs
- ProviderConnectionPoint.cs
- Roles.cs
- DocumentPageViewAutomationPeer.cs
- ReturnValue.cs
- TabItemAutomationPeer.cs
- webbrowsersite.cs
- MasterPage.cs
- MemberCollection.cs
- DecoderNLS.cs
- AssemblyResourceLoader.cs
- XmlArrayItemAttributes.cs
- ConfigurationManagerHelper.cs
- SmtpTransport.cs
- WebBrowser.cs
- MD5CryptoServiceProvider.cs
- TextContainerChangedEventArgs.cs
- SplashScreenNativeMethods.cs
- RoutedPropertyChangedEventArgs.cs
- TextFindEngine.cs
- TableParagraph.cs
- CollectionAdapters.cs
- EtwProvider.cs
- QilParameter.cs
- MediaEntryAttribute.cs
- InstanceCollisionException.cs
- Object.cs
- WorkflowRuntimeServiceElement.cs
- QilSortKey.cs
- Typography.cs
- LogStream.cs
- PreviewKeyDownEventArgs.cs
- ProgressBar.cs
- SettingsContext.cs
- Point4DConverter.cs
- ClientApiGenerator.cs
- Container.cs
- ToolStripSystemRenderer.cs
- Registry.cs
- XslTransform.cs
- OleDbEnumerator.cs
- URL.cs
- Crc32.cs
- EarlyBoundInfo.cs
- HostingEnvironment.cs
- UIElementParagraph.cs
- QueryOutputWriterV1.cs
- EmptyImpersonationContext.cs
- CodeDefaultValueExpression.cs
- CryptoKeySecurity.cs
- ExecutionEngineException.cs
- WebBrowsableAttribute.cs
- CustomValidator.cs
- SharedPerformanceCounter.cs
- DecoderReplacementFallback.cs
- TempEnvironment.cs
- DuplicateWaitObjectException.cs
- EncoderBestFitFallback.cs
- HijriCalendar.cs
- Boolean.cs
- IfAction.cs
- VirtualDirectoryMappingCollection.cs
- Metadata.cs
- OleDbError.cs
- PropertyDescriptorGridEntry.cs
- ImageList.cs
- AnnotationAuthorChangedEventArgs.cs
- WebPageTraceListener.cs
- _DigestClient.cs
- MeshGeometry3D.cs
- CellPartitioner.cs
- ContextStack.cs
- DayRenderEvent.cs
- DesignerTransaction.cs
- DbProviderSpecificTypePropertyAttribute.cs
- DbQueryCommandTree.cs
- XPathDocumentIterator.cs
- SHA384Cng.cs
- FlowLayoutSettings.cs
- BindingCompleteEventArgs.cs
- VectorCollection.cs
- ExtensionSimplifierMarkupObject.cs
- SqlCrossApplyToCrossJoin.cs
- ValidationErrorEventArgs.cs
- ThaiBuddhistCalendar.cs
- SpoolingTaskBase.cs
- PopupRoot.cs
- tibetanshape.cs
- ComplusEndpointConfigContainer.cs