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
- Screen.cs
- DbParameterHelper.cs
- KeyboardDevice.cs
- VectorCollection.cs
- NavigationCommands.cs
- WebPartCancelEventArgs.cs
- DocumentsTrace.cs
- ControlCachePolicy.cs
- HttpRequest.cs
- RegisteredArrayDeclaration.cs
- XmlAttributeOverrides.cs
- OdbcFactory.cs
- TimeSpanOrInfiniteValidator.cs
- SHA256Cng.cs
- SqlBulkCopyColumnMapping.cs
- EmbeddedMailObjectsCollection.cs
- FormViewCommandEventArgs.cs
- DrawingContextDrawingContextWalker.cs
- DataGridViewButtonCell.cs
- SynchronousChannelMergeEnumerator.cs
- XmlSchemaComplexContent.cs
- OneOfTypeConst.cs
- StateMachineExecutionState.cs
- ADMembershipProvider.cs
- WinInet.cs
- _AutoWebProxyScriptEngine.cs
- GeneralTransform3DCollection.cs
- SqlDataSourceView.cs
- BaseDataBoundControl.cs
- TreeSet.cs
- DetailsViewInsertEventArgs.cs
- VectorConverter.cs
- ListDesigner.cs
- SmtpNetworkElement.cs
- FrameworkElementAutomationPeer.cs
- KeyGestureValueSerializer.cs
- CompiledRegexRunner.cs
- Tuple.cs
- Enlistment.cs
- LinkTarget.cs
- SafeEventLogWriteHandle.cs
- MultiTrigger.cs
- ConfigurationLockCollection.cs
- DataGridDetailsPresenterAutomationPeer.cs
- Vector3DAnimationBase.cs
- SkewTransform.cs
- Switch.cs
- AddingNewEventArgs.cs
- Vector3DCollection.cs
- AuthenticatedStream.cs
- DataGridViewElement.cs
- UdpConstants.cs
- Int32RectConverter.cs
- PropertyGroupDescription.cs
- WebPartConnectionsCancelEventArgs.cs
- ValidatingCollection.cs
- StreamAsIStream.cs
- WorkflowNamespace.cs
- XmlReflectionMember.cs
- SelectionEditingBehavior.cs
- RadioButtonFlatAdapter.cs
- arabicshape.cs
- ReachVisualSerializer.cs
- SafeWaitHandle.cs
- CodeAttributeArgument.cs
- OleDbConnectionInternal.cs
- TypeValidationEventArgs.cs
- TagPrefixAttribute.cs
- ClientSettingsStore.cs
- WebControlsSection.cs
- LogWriteRestartAreaState.cs
- SortQueryOperator.cs
- AxisAngleRotation3D.cs
- ValuePattern.cs
- XamlUtilities.cs
- ButtonRenderer.cs
- BitmapScalingModeValidation.cs
- SystemWebCachingSectionGroup.cs
- GreenMethods.cs
- CompositeDataBoundControl.cs
- ContextConfiguration.cs
- unitconverter.cs
- Drawing.cs
- ToolBarPanel.cs
- CompleteWizardStep.cs
- SubstitutionList.cs
- CalculatedColumn.cs
- GroupBoxAutomationPeer.cs
- PagerSettings.cs
- Content.cs
- ToolboxDataAttribute.cs
- BCLDebug.cs
- Types.cs
- TypeBuilderInstantiation.cs
- ApplicationSecurityManager.cs
- ResourceCategoryAttribute.cs
- ClrProviderManifest.cs
- PersonalizationEntry.cs
- XmlMessageFormatter.cs
- CodeTypeMember.cs