D3DImage.IsFrontBufferAvailable Egenskap

Definition

Hämtar ett värde som anger om det finns en frontbuffert.

public:
 property bool IsFrontBufferAvailable { bool get(); };
public bool IsFrontBufferAvailable { get; }
member this.IsFrontBufferAvailable : bool
Public ReadOnly Property IsFrontBufferAvailable As Boolean

Egenskapsvärde

trueom det finns en frontbuffert. annars . false

Exempel

Följande kodexempel visar hur du kontrollerar IsFrontBufferAvailable egenskapen när du återger kompositionsmålet. För mer information, se Genomgång: Som värd för Direct3D9-innehåll i WPF.

void CompositionTarget_Rendering(object sender, EventArgs e)
{
    RenderingEventArgs args = (RenderingEventArgs)e;

    // It's possible for Rendering to call back twice in the same frame 
    // so only render when we haven't already rendered in this frame.
    if (d3dimg.IsFrontBufferAvailable && _lastRender != args.RenderingTime)
    {
        IntPtr pSurface = IntPtr.Zero;
        HRESULT.Check(GetBackBufferNoRef(out pSurface));
        if (pSurface != IntPtr.Zero)
        {
            d3dimg.Lock();
            // Repeatedly calling SetBackBuffer with the same IntPtr is 
            // a no-op. There is no performance penalty.
            d3dimg.SetBackBuffer(D3DResourceType.IDirect3DSurface9, pSurface);
            HRESULT.Check(Render());
            d3dimg.AddDirtyRect(new Int32Rect(0, 0, d3dimg.PixelWidth, d3dimg.PixelHeight));
            d3dimg.Unlock();

            _lastRender = args.RenderingTime;
        }
    }
}

Kommentarer

Ibland blir den främre bufferten otillgänglig. Den här bristen på tillgänglighet kan orsakas av skärmlåsning, fullskärms exklusiva Direct3D-program, användarväxling eller andra systemaktiviteter. När detta inträffar meddelas ditt WPF-program genom att hantera händelsen IsFrontBufferAvailableChanged. Hur programmet svarar på att den främre bufferten blir otillgänglig beror på om WPF har aktiverats för att återgå till programvarurendering. Metoden SetBackBuffer har en överlagrad form som tar en parameter som anger om WPF ska återgå till programvarurendering. Mer information finns i kommentarerna i klassen D3DImage.

Information om beroendeegenskap

Objekt Value
Identifierarfält IsFrontBufferAvailableProperty
Metadataegenskaper inställda på true Ingen

Gäller för

Se även