Click or drag to resize
DigitalRuneD3DImagePresentationTarget Class
A WPF control that implements IPresentationTarget to host a 3D view. (Only available in MonoGame-compatible builds.)
Inheritance Hierarchy
SystemObject
  DispatcherObject
    DependencyObject
      Visual
        UIElement
          FrameworkElement
            Image
              DigitalRune.Graphics.InteropD3DImagePresentationTarget

Namespace: DigitalRune.Graphics.Interop
Assembly: DigitalRune.Graphics (in DigitalRune.Graphics.dll) Version: 1.2.0.0 (1.2.1.14562)
Syntax
public class D3DImagePresentationTarget : Image, 
	IPresentationTarget

The D3DImagePresentationTarget type exposes the following members.

Constructors
  NameDescription
Public methodD3DImagePresentationTarget
Initializes a new instance of the D3DImagePresentationTarget class.
Top
Methods
  NameDescription
Public methodAddHandler(RoutedEvent, Delegate) (Inherited from UIElement.)
Public methodAddHandler(RoutedEvent, Delegate, Boolean) (Inherited from UIElement.)
Protected methodAddLogicalChild (Inherited from FrameworkElement.)
Public methodAddToEventRoute (Inherited from UIElement.)
Protected methodAddVisualChild (Inherited from Visual.)
Public methodApplyAnimationClock(DependencyProperty, AnimationClock) (Inherited from UIElement.)
Public methodApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) (Inherited from UIElement.)
Public methodApplyTemplate (Inherited from FrameworkElement.)
Public methodArrange (Inherited from UIElement.)
Protected methodArrangeCore (Inherited from FrameworkElement.)
Protected methodArrangeOverride (Inherited from Image.)
Public methodBeginAnimation(DependencyProperty, AnimationTimeline) (Inherited from UIElement.)
Public methodBeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) (Inherited from UIElement.)
Public methodBeginInit (Inherited from FrameworkElement.)
Public methodBeginStoryboard(Storyboard) (Inherited from FrameworkElement.)
Public methodBeginStoryboard(Storyboard, HandoffBehavior) (Inherited from FrameworkElement.)
Public methodBeginStoryboard(Storyboard, HandoffBehavior, Boolean) (Inherited from FrameworkElement.)
Public methodBringIntoView (Inherited from FrameworkElement.)
Public methodBringIntoView(Rect) (Inherited from FrameworkElement.)
Public methodCaptureMouse (Inherited from UIElement.)
Public methodCaptureStylus (Inherited from UIElement.)
Public methodCaptureTouch (Inherited from UIElement.)
Public methodCheckAccess (Inherited from DispatcherObject.)
Public methodClearValue(DependencyProperty) (Inherited from DependencyObject.)
Public methodClearValue(DependencyPropertyKey) (Inherited from DependencyObject.)
Public methodCoerceValue (Inherited from DependencyObject.)
Public methodEndInit (Inherited from FrameworkElement.)
Public methodEquals (Inherited from DependencyObject.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFindCommonVisualAncestor (Inherited from Visual.)
Public methodFindName (Inherited from FrameworkElement.)
Public methodFindResource (Inherited from FrameworkElement.)
Public methodFocus (Inherited from UIElement.)
Public methodGetAnimationBaseValue (Inherited from UIElement.)
Public methodGetBindingExpression (Inherited from FrameworkElement.)
Public methodGetHashCode (Inherited from DependencyObject.)
Protected methodGetLayoutClip (Inherited from FrameworkElement.)
Public methodGetLocalValueEnumerator (Inherited from DependencyObject.)
Protected methodGetTemplateChild (Inherited from FrameworkElement.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodGetUIParentCore (Inherited from FrameworkElement.)
Public methodGetValue (Inherited from DependencyObject.)
Protected methodGetVisualChild (Inherited from FrameworkElement.)
Protected methodHitTestCore(PointHitTestParameters) (Inherited from UIElement.)
Protected methodHitTestCore(GeometryHitTestParameters) (Inherited from UIElement.)
Public methodInputHitTest (Inherited from UIElement.)
Public methodInvalidateArrange (Inherited from UIElement.)
Public methodInvalidateMeasure (Inherited from UIElement.)
Public methodInvalidateProperty (Inherited from DependencyObject.)
Public methodInvalidateVisual (Inherited from UIElement.)
Public methodIsAncestorOf (Inherited from Visual.)
Public methodIsDescendantOf (Inherited from Visual.)
Public methodMeasure (Inherited from UIElement.)
Protected methodMeasureCore (Inherited from FrameworkElement.)
Protected methodMeasureOverride (Inherited from Image.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodMoveFocus (Inherited from FrameworkElement.)
Protected methodOnAccessKey (Inherited from UIElement.)
Public methodOnApplyTemplate (Inherited from FrameworkElement.)
Protected methodOnChildDesiredSizeChanged (Inherited from UIElement.)
Protected methodOnContextMenuClosing (Inherited from FrameworkElement.)
Protected methodOnContextMenuOpening (Inherited from FrameworkElement.)
Protected methodOnCreateAutomationPeer (Inherited from Image.)
Protected methodOnDragEnter (Inherited from UIElement.)
Protected methodOnDragLeave (Inherited from UIElement.)
Protected methodOnDragOver (Inherited from UIElement.)
Protected methodOnDrop (Inherited from UIElement.)
Protected methodOnEnableAlphaChanged
Called when the EnableAlpha property changed.
Protected methodOnGiveFeedback (Inherited from UIElement.)
Protected methodOnGotFocus (Inherited from FrameworkElement.)
Protected methodOnGotKeyboardFocus (Inherited from UIElement.)
Protected methodOnGotMouseCapture (Inherited from UIElement.)
Protected methodOnGotStylusCapture (Inherited from UIElement.)
Protected methodOnGotTouchCapture (Inherited from UIElement.)
Protected methodOnInitialized (Inherited from FrameworkElement.)
Protected methodOnIsKeyboardFocusedChanged (Inherited from UIElement.)
Protected methodOnIsKeyboardFocusWithinChanged (Inherited from UIElement.)
Protected methodOnIsMouseCapturedChanged (Inherited from UIElement.)
Protected methodOnIsMouseCaptureWithinChanged (Inherited from UIElement.)
Protected methodOnIsMouseDirectlyOverChanged (Inherited from UIElement.)
Protected methodOnIsStylusCapturedChanged (Inherited from UIElement.)
Protected methodOnIsStylusCaptureWithinChanged (Inherited from UIElement.)
Protected methodOnIsStylusDirectlyOverChanged (Inherited from UIElement.)
Protected methodOnIsSynchronizedChanged
Called when the IsSynchronized property changed.
Protected methodOnKeyDown (Inherited from UIElement.)
Protected methodOnKeyUp (Inherited from UIElement.)
Protected methodOnLostFocus (Inherited from UIElement.)
Protected methodOnLostKeyboardFocus (Inherited from UIElement.)
Protected methodOnLostMouseCapture (Inherited from UIElement.)
Protected methodOnLostStylusCapture (Inherited from UIElement.)
Protected methodOnLostTouchCapture (Inherited from UIElement.)
Protected methodOnManipulationBoundaryFeedback (Inherited from UIElement.)
Protected methodOnManipulationCompleted (Inherited from UIElement.)
Protected methodOnManipulationDelta (Inherited from UIElement.)
Protected methodOnManipulationInertiaStarting (Inherited from UIElement.)
Protected methodOnManipulationStarted (Inherited from UIElement.)
Protected methodOnManipulationStarting (Inherited from UIElement.)
Protected methodOnMouseDown (Inherited from UIElement.)
Protected methodOnMouseEnter (Inherited from UIElement.)
Protected methodOnMouseLeave (Inherited from UIElement.)
Protected methodOnMouseLeftButtonDown (Inherited from UIElement.)
Protected methodOnMouseLeftButtonUp (Inherited from UIElement.)
Protected methodOnMouseMove (Inherited from UIElement.)
Protected methodOnMouseRightButtonDown (Inherited from UIElement.)
Protected methodOnMouseRightButtonUp (Inherited from UIElement.)
Protected methodOnMouseUp (Inherited from UIElement.)
Protected methodOnMouseWheel (Inherited from UIElement.)
Protected methodOnPreviewDragEnter (Inherited from UIElement.)
Protected methodOnPreviewDragLeave (Inherited from UIElement.)
Protected methodOnPreviewDragOver (Inherited from UIElement.)
Protected methodOnPreviewDrop (Inherited from UIElement.)
Protected methodOnPreviewGiveFeedback (Inherited from UIElement.)
Protected methodOnPreviewGotKeyboardFocus (Inherited from UIElement.)
Protected methodOnPreviewKeyDown (Inherited from UIElement.)
Protected methodOnPreviewKeyUp (Inherited from UIElement.)
Protected methodOnPreviewLostKeyboardFocus (Inherited from UIElement.)
Protected methodOnPreviewMouseDown (Inherited from UIElement.)
Protected methodOnPreviewMouseLeftButtonDown (Inherited from UIElement.)
Protected methodOnPreviewMouseLeftButtonUp (Inherited from UIElement.)
Protected methodOnPreviewMouseMove (Inherited from UIElement.)
Protected methodOnPreviewMouseRightButtonDown (Inherited from UIElement.)
Protected methodOnPreviewMouseRightButtonUp (Inherited from UIElement.)
Protected methodOnPreviewMouseUp (Inherited from UIElement.)
Protected methodOnPreviewMouseWheel (Inherited from UIElement.)
Protected methodOnPreviewQueryContinueDrag (Inherited from UIElement.)
Protected methodOnPreviewStylusButtonDown (Inherited from UIElement.)
Protected methodOnPreviewStylusButtonUp (Inherited from UIElement.)
Protected methodOnPreviewStylusDown (Inherited from UIElement.)
Protected methodOnPreviewStylusInAirMove (Inherited from UIElement.)
Protected methodOnPreviewStylusInRange (Inherited from UIElement.)
Protected methodOnPreviewStylusMove (Inherited from UIElement.)
Protected methodOnPreviewStylusOutOfRange (Inherited from UIElement.)
Protected methodOnPreviewStylusSystemGesture (Inherited from UIElement.)
Protected methodOnPreviewStylusUp (Inherited from UIElement.)
Protected methodOnPreviewTextInput (Inherited from UIElement.)
Protected methodOnPreviewTouchDown (Inherited from UIElement.)
Protected methodOnPreviewTouchMove (Inherited from UIElement.)
Protected methodOnPreviewTouchUp (Inherited from UIElement.)
Protected methodOnPropertyChanged (Inherited from FrameworkElement.)
Protected methodOnQueryContinueDrag (Inherited from UIElement.)
Protected methodOnQueryCursor (Inherited from UIElement.)
Protected methodOnRender (Inherited from Image.)
Protected methodOnRenderSizeChanged (Inherited from FrameworkElement.)
Protected methodOnStyleChanged (Inherited from FrameworkElement.)
Protected methodOnStylusButtonDown (Inherited from UIElement.)
Protected methodOnStylusButtonUp (Inherited from UIElement.)
Protected methodOnStylusDown (Inherited from UIElement.)
Protected methodOnStylusEnter (Inherited from UIElement.)
Protected methodOnStylusInAirMove (Inherited from UIElement.)
Protected methodOnStylusInRange (Inherited from UIElement.)
Protected methodOnStylusLeave (Inherited from UIElement.)
Protected methodOnStylusMove (Inherited from UIElement.)
Protected methodOnStylusOutOfRange (Inherited from UIElement.)
Protected methodOnStylusSystemGesture (Inherited from UIElement.)
Protected methodOnStylusUp (Inherited from UIElement.)
Protected methodOnTextInput (Inherited from UIElement.)
Protected methodOnToolTipClosing (Inherited from FrameworkElement.)
Protected methodOnToolTipOpening (Inherited from FrameworkElement.)
Protected methodOnTouchDown (Inherited from UIElement.)
Protected methodOnTouchEnter (Inherited from UIElement.)
Protected methodOnTouchLeave (Inherited from UIElement.)
Protected methodOnTouchMove (Inherited from UIElement.)
Protected methodOnTouchUp (Inherited from UIElement.)
Protected methodOnVisualChildrenChanged (Inherited from Visual.)
Protected methodOnVisualParentChanged (Inherited from FrameworkElement.)
Protected methodParentLayoutInvalidated (Inherited from FrameworkElement.)
Public methodPointFromScreen (Inherited from Visual.)
Public methodPointToScreen (Inherited from Visual.)
Public methodPredictFocus (Inherited from FrameworkElement.)
Public methodRaiseEvent (Inherited from UIElement.)
Public methodReadLocalValue (Inherited from DependencyObject.)
Public methodRegisterName (Inherited from FrameworkElement.)
Public methodReleaseAllTouchCaptures (Inherited from UIElement.)
Public methodReleaseMouseCapture (Inherited from UIElement.)
Public methodReleaseStylusCapture (Inherited from UIElement.)
Public methodReleaseTouchCapture (Inherited from UIElement.)
Public methodRemoveHandler (Inherited from UIElement.)
Protected methodRemoveLogicalChild (Inherited from FrameworkElement.)
Protected methodRemoveVisualChild (Inherited from Visual.)
Public methodSetBinding(DependencyProperty, BindingBase) (Inherited from FrameworkElement.)
Public methodSetBinding(DependencyProperty, String) (Inherited from FrameworkElement.)
Public methodSetCurrentValue (Inherited from DependencyObject.)
Public methodSetResourceReference (Inherited from FrameworkElement.)
Public methodSetValue(DependencyProperty, Object) (Inherited from DependencyObject.)
Public methodSetValue(DependencyPropertyKey, Object) (Inherited from DependencyObject.)
Public methodShouldSerializeCommandBindings (Inherited from UIElement.)
Public methodShouldSerializeInputBindings (Inherited from UIElement.)
Protected methodShouldSerializeProperty (Inherited from DependencyObject.)
Public methodShouldSerializeResources (Inherited from FrameworkElement.)
Public methodShouldSerializeStyle (Inherited from FrameworkElement.)
Public methodShouldSerializeTriggers (Inherited from FrameworkElement.)
Public methodToBitmap
Takes a snapshot of the presentation target and stores it as a bitmap.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodTransformToAncestor(Visual) (Inherited from Visual.)
Public methodTransformToAncestor(Visual3D) (Inherited from Visual.)
Public methodTransformToDescendant (Inherited from Visual.)
Public methodTransformToVisual (Inherited from Visual.)
Public methodTranslatePoint (Inherited from UIElement.)
Public methodTryFindResource (Inherited from FrameworkElement.)
Public methodUnregisterName (Inherited from FrameworkElement.)
Public methodUpdateDefaultStyle (Inherited from FrameworkElement.)
Public methodUpdateLayout (Inherited from UIElement.)
Public methodVerifyAccess (Inherited from DispatcherObject.)
Top
Fields
  NameDescription
Public fieldStatic memberEnableAlphaProperty
Identifies the EnableAlpha dependency property.
Public fieldStatic memberIsFrontBufferAvailableProperty
Identifies the IsFrontBufferAvailable dependency property.
Public fieldStatic memberIsSynchronizedProperty
Identifies the IsSynchronized dependency property.
Top
Properties
  NameDescription
Public propertyActualHeight (Inherited from FrameworkElement.)
Public propertyActualWidth (Inherited from FrameworkElement.)
Public propertyAllowDrop (Inherited from UIElement.)
Public propertyAreAnyTouchesCaptured (Inherited from UIElement.)
Public propertyAreAnyTouchesCapturedWithin (Inherited from UIElement.)
Public propertyAreAnyTouchesDirectlyOver (Inherited from UIElement.)
Public propertyAreAnyTouchesOver (Inherited from UIElement.)
Protected propertyBaseUri (Inherited from Image.)
Public propertyBindingGroup (Inherited from FrameworkElement.)
Public propertyBitmapEffect Obsolete. (Inherited from UIElement.)
Public propertyBitmapEffectInput Obsolete. (Inherited from UIElement.)
Public propertyCacheMode (Inherited from UIElement.)
Public propertyClip (Inherited from UIElement.)
Public propertyClipToBounds (Inherited from UIElement.)
Public propertyCommandBindings (Inherited from UIElement.)
Public propertyContextMenu (Inherited from FrameworkElement.)
Public propertyCursor (Inherited from FrameworkElement.)
Public propertyDataContext (Inherited from FrameworkElement.)
Protected propertyDefaultStyleKey (Inherited from FrameworkElement.)
Public propertyDependencyObjectType (Inherited from DependencyObject.)
Public propertyDesiredSize (Inherited from UIElement.)
Public propertyDispatcher (Inherited from DispatcherObject.)
Public propertyEffect (Inherited from UIElement.)
Public propertyEnableAlpha
Gets or sets a value indicating whether a render target with an alpha channel is created. This is a dependency property.
Public propertyFlowDirection (Inherited from FrameworkElement.)
Public propertyFocusable (Inherited from UIElement.)
Public propertyFocusVisualStyle (Inherited from FrameworkElement.)
Public propertyForceCursor (Inherited from FrameworkElement.)
Public propertyGraphicsService
Gets the graphics service.
Public propertyHasAnimatedProperties (Inherited from UIElement.)
Protected propertyHasEffectiveKeyboardFocus (Inherited from UIElement.)
Public propertyHeight (Inherited from FrameworkElement.)
Public propertyHorizontalAlignment (Inherited from FrameworkElement.)
Protected propertyInheritanceBehavior (Inherited from FrameworkElement.)
Public propertyInputBindings (Inherited from UIElement.)
Public propertyInputScope (Inherited from FrameworkElement.)
Public propertyIsArrangeValid (Inherited from UIElement.)
Public propertyIsEnabled (Inherited from UIElement.)
Protected propertyIsEnabledCore (Inherited from UIElement.)
Public propertyIsFocused (Inherited from UIElement.)
Public propertyIsFrameReady
Gets a value indicating whether the Direct3D 11 device has finished rendering the current frame.
Public propertyIsFrontBufferAvailable
Gets a value that indicates whether a front buffer exists for the internal D3DImage. This is a dependency property.
Public propertyIsHitTestVisible (Inherited from UIElement.)
Public propertyIsInitialized (Inherited from FrameworkElement.)
Public propertyIsInputMethodEnabled (Inherited from UIElement.)
Public propertyIsKeyboardFocused (Inherited from UIElement.)
Public propertyIsKeyboardFocusWithin (Inherited from UIElement.)
Public propertyIsLoaded (Inherited from FrameworkElement.)
Public propertyIsManipulationEnabled (Inherited from UIElement.)
Public propertyIsMeasureValid (Inherited from UIElement.)
Public propertyIsMouseCaptured (Inherited from UIElement.)
Public propertyIsMouseCaptureWithin (Inherited from UIElement.)
Public propertyIsMouseDirectlyOver (Inherited from UIElement.)
Public propertyIsMouseOver (Inherited from UIElement.)
Public propertyIsSealed (Inherited from DependencyObject.)
Public propertyIsStylusCaptured (Inherited from UIElement.)
Public propertyIsStylusCaptureWithin (Inherited from UIElement.)
Public propertyIsStylusDirectlyOver (Inherited from UIElement.)
Public propertyIsStylusOver (Inherited from UIElement.)
Public propertyIsSynchronized
Gets or sets a value indicating whether the Direct3D 11 device is synchronized with WPF. This is a dependency property.
Public propertyIsVisible (Inherited from UIElement.)
Public propertyLanguage (Inherited from FrameworkElement.)
Public propertyLayoutTransform (Inherited from FrameworkElement.)
Protected propertyLogicalChildren (Inherited from FrameworkElement.)
Public propertyMargin (Inherited from FrameworkElement.)
Public propertyMaxHeight (Inherited from FrameworkElement.)
Public propertyMaxWidth (Inherited from FrameworkElement.)
Public propertyMinHeight (Inherited from FrameworkElement.)
Public propertyMinWidth (Inherited from FrameworkElement.)
Public propertyName (Inherited from FrameworkElement.)
Public propertyOpacity (Inherited from UIElement.)
Public propertyOpacityMask (Inherited from UIElement.)
Public propertyOverridesDefaultStyle (Inherited from FrameworkElement.)
Public propertyParent (Inherited from FrameworkElement.)
Public propertyPersistId Obsolete. (Inherited from UIElement.)
Public propertyRenderSize (Inherited from UIElement.)
Public propertyRenderTransform (Inherited from UIElement.)
Public propertyRenderTransformOrigin (Inherited from UIElement.)
Public propertyResources (Inherited from FrameworkElement.)
Public propertySnapsToDevicePixels (Inherited from UIElement.)
Public propertySource (Inherited from Image.)
Public propertyStretch (Inherited from Image.)
Public propertyStretchDirection (Inherited from Image.)
Public propertyStyle (Inherited from FrameworkElement.)
Protected propertyStylusPlugIns (Inherited from UIElement.)
Public propertyTag (Inherited from FrameworkElement.)
Public propertyTemplatedParent (Inherited from FrameworkElement.)
Public propertyToolTip (Inherited from FrameworkElement.)
Public propertyTouchesCaptured (Inherited from UIElement.)
Public propertyTouchesCapturedWithin (Inherited from UIElement.)
Public propertyTouchesDirectlyOver (Inherited from UIElement.)
Public propertyTouchesOver (Inherited from UIElement.)
Public propertyTriggers (Inherited from FrameworkElement.)
Public propertyUid (Inherited from UIElement.)
Public propertyUseLayoutRounding (Inherited from FrameworkElement.)
Public propertyVerticalAlignment (Inherited from FrameworkElement.)
Public propertyVisibility (Inherited from UIElement.)
Protected propertyVisualBitmapEffect Obsolete. (Inherited from Visual.)
Protected propertyVisualBitmapEffectInput Obsolete. (Inherited from Visual.)
Protected propertyVisualBitmapScalingMode (Inherited from Visual.)
Protected propertyVisualCacheMode (Inherited from Visual.)
Protected propertyVisualChildrenCount (Inherited from FrameworkElement.)
Protected propertyVisualClearTypeHint (Inherited from Visual.)
Protected propertyVisualClip (Inherited from Visual.)
Protected propertyVisualEdgeMode (Inherited from Visual.)
Protected propertyVisualEffect (Inherited from Visual.)
Protected propertyVisualOffset (Inherited from Visual.)
Protected propertyVisualOpacity (Inherited from Visual.)
Protected propertyVisualOpacityMask (Inherited from Visual.)
Protected propertyVisualParent (Inherited from Visual.)
Protected propertyVisualScrollableAreaClip (Inherited from Visual.)
Protected propertyVisualTextHintingMode (Inherited from Visual.)
Protected propertyVisualTextRenderingMode (Inherited from Visual.)
Protected propertyVisualTransform (Inherited from Visual.)
Protected propertyVisualXSnappingGuidelines (Inherited from Visual.)
Protected propertyVisualYSnappingGuidelines (Inherited from Visual.)
Public propertyWidth (Inherited from FrameworkElement.)
Top
Events
  NameDescription
Public eventContextMenuClosing (Inherited from FrameworkElement.)
Public eventContextMenuOpening (Inherited from FrameworkElement.)
Public eventDataContextChanged (Inherited from FrameworkElement.)
Public eventDragEnter (Inherited from UIElement.)
Public eventDragLeave (Inherited from UIElement.)
Public eventDragOver (Inherited from UIElement.)
Public eventDrop (Inherited from UIElement.)
Public eventFocusableChanged (Inherited from UIElement.)
Public eventGiveFeedback (Inherited from UIElement.)
Public eventGotFocus (Inherited from UIElement.)
Public eventGotKeyboardFocus (Inherited from UIElement.)
Public eventGotMouseCapture (Inherited from UIElement.)
Public eventGotStylusCapture (Inherited from UIElement.)
Public eventGotTouchCapture (Inherited from UIElement.)
Public eventImageFailed (Inherited from Image.)
Public eventInitialized (Inherited from FrameworkElement.)
Public eventIsEnabledChanged (Inherited from UIElement.)
Public eventIsFrontBufferAvailableChanged
Occurs when the IsFrontBufferAvailable property value changed.
Public eventIsHitTestVisibleChanged (Inherited from UIElement.)
Public eventIsKeyboardFocusedChanged (Inherited from UIElement.)
Public eventIsKeyboardFocusWithinChanged (Inherited from UIElement.)
Public eventIsMouseCapturedChanged (Inherited from UIElement.)
Public eventIsMouseCaptureWithinChanged (Inherited from UIElement.)
Public eventIsMouseDirectlyOverChanged (Inherited from UIElement.)
Public eventIsStylusCapturedChanged (Inherited from UIElement.)
Public eventIsStylusCaptureWithinChanged (Inherited from UIElement.)
Public eventIsStylusDirectlyOverChanged (Inherited from UIElement.)
Public eventIsVisibleChanged (Inherited from UIElement.)
Public eventKeyDown (Inherited from UIElement.)
Public eventKeyUp (Inherited from UIElement.)
Public eventLayoutUpdated (Inherited from UIElement.)
Public eventLoaded (Inherited from FrameworkElement.)
Public eventLostFocus (Inherited from UIElement.)
Public eventLostKeyboardFocus (Inherited from UIElement.)
Public eventLostMouseCapture (Inherited from UIElement.)
Public eventLostStylusCapture (Inherited from UIElement.)
Public eventLostTouchCapture (Inherited from UIElement.)
Public eventManipulationBoundaryFeedback (Inherited from UIElement.)
Public eventManipulationCompleted (Inherited from UIElement.)
Public eventManipulationDelta (Inherited from UIElement.)
Public eventManipulationInertiaStarting (Inherited from UIElement.)
Public eventManipulationStarted (Inherited from UIElement.)
Public eventManipulationStarting (Inherited from UIElement.)
Public eventMouseDown (Inherited from UIElement.)
Public eventMouseEnter (Inherited from UIElement.)
Public eventMouseLeave (Inherited from UIElement.)
Public eventMouseLeftButtonDown (Inherited from UIElement.)
Public eventMouseLeftButtonUp (Inherited from UIElement.)
Public eventMouseMove (Inherited from UIElement.)
Public eventMouseRightButtonDown (Inherited from UIElement.)
Public eventMouseRightButtonUp (Inherited from UIElement.)
Public eventMouseUp (Inherited from UIElement.)
Public eventMouseWheel (Inherited from UIElement.)
Public eventPreviewDragEnter (Inherited from UIElement.)
Public eventPreviewDragLeave (Inherited from UIElement.)
Public eventPreviewDragOver (Inherited from UIElement.)
Public eventPreviewDrop (Inherited from UIElement.)
Public eventPreviewGiveFeedback (Inherited from UIElement.)
Public eventPreviewGotKeyboardFocus (Inherited from UIElement.)
Public eventPreviewKeyDown (Inherited from UIElement.)
Public eventPreviewKeyUp (Inherited from UIElement.)
Public eventPreviewLostKeyboardFocus (Inherited from UIElement.)
Public eventPreviewMouseDown (Inherited from UIElement.)
Public eventPreviewMouseLeftButtonDown (Inherited from UIElement.)
Public eventPreviewMouseLeftButtonUp (Inherited from UIElement.)
Public eventPreviewMouseMove (Inherited from UIElement.)
Public eventPreviewMouseRightButtonDown (Inherited from UIElement.)
Public eventPreviewMouseRightButtonUp (Inherited from UIElement.)
Public eventPreviewMouseUp (Inherited from UIElement.)
Public eventPreviewMouseWheel (Inherited from UIElement.)
Public eventPreviewQueryContinueDrag (Inherited from UIElement.)
Public eventPreviewStylusButtonDown (Inherited from UIElement.)
Public eventPreviewStylusButtonUp (Inherited from UIElement.)
Public eventPreviewStylusDown (Inherited from UIElement.)
Public eventPreviewStylusInAirMove (Inherited from UIElement.)
Public eventPreviewStylusInRange (Inherited from UIElement.)
Public eventPreviewStylusMove (Inherited from UIElement.)
Public eventPreviewStylusOutOfRange (Inherited from UIElement.)
Public eventPreviewStylusSystemGesture (Inherited from UIElement.)
Public eventPreviewStylusUp (Inherited from UIElement.)
Public eventPreviewTextInput (Inherited from UIElement.)
Public eventPreviewTouchDown (Inherited from UIElement.)
Public eventPreviewTouchMove (Inherited from UIElement.)
Public eventPreviewTouchUp (Inherited from UIElement.)
Public eventQueryContinueDrag (Inherited from UIElement.)
Public eventQueryCursor (Inherited from UIElement.)
Public eventRequestBringIntoView (Inherited from FrameworkElement.)
Public eventSizeChanged (Inherited from FrameworkElement.)
Public eventSourceUpdated (Inherited from FrameworkElement.)
Public eventStylusButtonDown (Inherited from UIElement.)
Public eventStylusButtonUp (Inherited from UIElement.)
Public eventStylusDown (Inherited from UIElement.)
Public eventStylusEnter (Inherited from UIElement.)
Public eventStylusInAirMove (Inherited from UIElement.)
Public eventStylusInRange (Inherited from UIElement.)
Public eventStylusLeave (Inherited from UIElement.)
Public eventStylusMove (Inherited from UIElement.)
Public eventStylusOutOfRange (Inherited from UIElement.)
Public eventStylusSystemGesture (Inherited from UIElement.)
Public eventStylusUp (Inherited from UIElement.)
Public eventTargetUpdated (Inherited from FrameworkElement.)
Public eventTextInput (Inherited from UIElement.)
Public eventToolTipClosing (Inherited from FrameworkElement.)
Public eventToolTipOpening (Inherited from FrameworkElement.)
Public eventTouchDown (Inherited from UIElement.)
Public eventTouchEnter (Inherited from UIElement.)
Public eventTouchLeave (Inherited from UIElement.)
Public eventTouchMove (Inherited from UIElement.)
Public eventTouchUp (Inherited from UIElement.)
Public eventUnloaded (Inherited from FrameworkElement.)
Top
Explicit Interface Implementations
Remarks

The D3DImagePresentationTarget is derived from the WPF Image element and hosts a D3DImage as the image source.

The D3DImage manages two buffers: the back buffer and the front buffer. DigitalRune Graphics renders content into the back buffer using Direct3D 11. WPF copies the content of the back buffer into the front buffer and displays the result using Direct3D 9. See D3DImage documentation for additional information.

When content is rendered into the back buffer, the back buffer is automatically marked as dirty to notify WPF that the front buffer needs to be updated. You can also manually mark the back buffer as dirty to trigger an update of the front buffer. The following example shows how to mark all registered D3DImages as dirty.

Mark D3DImage dirty to update the front buffer
foreach (var presentationTarget in _graphicsService.PresentationTargets)
{
    var d3dImagePresentationTarget = presentationTarget as D3DImagePresentationTarget;
    if (d3dImagePresentationTarget != null && d3dImagePresentationTarget.IsVisible)
    {
        var d3DImage = (D3DImage)d3dImagePresentationTarget.Source;
        d3DImage.Lock();
        d3DImage.AddDirtyRect(new Int32Rect(0, 0, d3DImage.PixelWidth, d3DImage.PixelHeight));
        d3DImage.Unlock();
    }
}

It is usually not necessary to manually trigger the update of the front buffer. However, if you run into synchronization problems, as described below, this may be relevant.

Synchronization:
By default, the Direct3D 11 device used for rendering is not synchronized with Direct3D 9 (WPF). Direct3D 11 and Direct3D 9 run asynchronously. The image shown in WPF may be one or more frames old. Setting IsSynchronized ensures that the devices run in sync and that WPF always shows the current frame.

However, synchronizing Direct3D 11 and Direct3D 9 is costly. When switching from Direct3D 11 to Direct3D 9 (and vice versa) the CPU needs to be blocked until the GPU is flushed. This reduces performance. Therefore, synchronization is disabled by default.

To avoid synchronization problems, you need to apply one of these 3 solutions:

  1. Continuous rendering - Most interactive applications continuously render new frames - usually 30 or 60 frames per second. In this case, synchronization is not a problem: The image shown in WPF may lag one or more frames behind, but WPF will eventually catch up and show the new frame. (IsSynchronized should be set to for optimal performance!)
  2. Enable synchronization - Explicit synchronization can be enabled by setting IsSynchronized to . This ensures that WPF always shows the new frame. However, as mentioned above, this synchronization greatly reduces performance. The CPU is blocked until the Direct3D 11 device has finished rendering the new frame.
  3. Manual invalidation - There is a third solution that does not require continuously rendering new frames or using explicit synchronization: Render the new frame and then poll IsFrameReady. When this property returns true, manually trigger an update of the front buffer, as described above.

Clean-up:
Be sure to remove the D3DImagePresentationTarget from the IGraphicsService when it is no longer needed - usually when the element is Unloaded. This ensures that all unmanaged resources are properly disposed of.

See Also