WriteableBitmap.Unlock Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt de backbuffer vrijgegeven om deze beschikbaar te maken voor weergave.
public:
void Unlock();
[System.Security.SecurityCritical]
public void Unlock();
[<System.Security.SecurityCritical>]
member this.Unlock : unit -> unit
Public Sub Unlock ()
- Kenmerken
Uitzonderingen
De bitmap is niet vergrendeld door een aanroep naar de Lock() of TryLock(Duration) methoden.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de backbuffer kunt vrijgeven met behulp van de Unlock methode.
// The DrawPixel method updates the WriteableBitmap by using
// unsafe code to write a pixel into the back buffer.
static void DrawPixel(MouseEventArgs e)
{
int column = (int)e.GetPosition(i).X;
int row = (int)e.GetPosition(i).Y;
try{
// Reserve the back buffer for updates.
writeableBitmap.Lock();
unsafe
{
// Get a pointer to the back buffer.
IntPtr pBackBuffer = writeableBitmap.BackBuffer;
// Find the address of the pixel to draw.
pBackBuffer += row * writeableBitmap.BackBufferStride;
pBackBuffer += column * 4;
// Compute the pixel's color.
int color_data = 255 << 16; // R
color_data |= 128 << 8; // G
color_data |= 255 << 0; // B
// Assign the color data to the pixel.
*((int*) pBackBuffer) = color_data;
}
// Specify the area of the bitmap that changed.
writeableBitmap.AddDirtyRect(new Int32Rect(column, row, 1, 1));
}
finally{
// Release the back buffer and make it available for display.
writeableBitmap.Unlock();
}
}
Opmerkingen
Met Unlock de methode wordt het aantal vergrendelingen afgerekend. Wanneer het aantal vergrendelingen 0 bereikt, wordt een renderpas aangevraagd als de AddDirtyRect methode is aangeroepen.