D3DImage.IsFrontBufferAvailable Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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 |