Bagikan melalui


D3DImage.IsFrontBufferAvailable Properti

Definisi

Mendapatkan nilai yang menunjukkan apakah ada buffer depan.

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

Nilai Properti

true jika ada buffer depan; jika tidak, false.

Contoh

Contoh kode berikut menunjukkan cara memeriksa IsFrontBufferAvailable properti saat merender target komposisi. Untuk informasi selengkapnya, lihat Panduan: Hosting Konten Direct3D9 di 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;
        }
    }
}

Keterangan

Terkadang, buffer depan menjadi tidak tersedia. Kurangnya ketersediaan ini dapat disebabkan oleh penguncian layar, aplikasi Direct3D eksklusif layar penuh, peralihan pengguna, atau aktivitas sistem lainnya. Ketika ini terjadi, aplikasi WPF Anda akan diberi tahu dengan menangani peristiwa tersebut IsFrontBufferAvailableChanged . Bagaimana aplikasi Anda merespons buffer depan menjadi tidak tersedia tergantung pada apakah WPF diaktifkan untuk kembali ke penyajian perangkat lunak. Metode SetBackBuffer ini memiliki kelebihan beban yang mengambil parameter yang menentukan apakah WPF kembali ke penyajian perangkat lunak. Untuk informasi selengkapnya, lihat keterangan di D3DImage kelas .

Informasi Properti Dependensi

Bidang pengidentifikasi IsFrontBufferAvailableProperty
Properti metadata diatur ke true Tidak ada

Berlaku untuk

Lihat juga