WriteableBitmap.Unlock Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt den Hintergrundpuffer frei, um ihn für die Anzeige verfügbar zu machen.
public:
void Unlock();
[System.Security.SecurityCritical]
public void Unlock();
public void Unlock();
[<System.Security.SecurityCritical>]
member this.Unlock : unit -> unit
member this.Unlock : unit -> unit
Public Sub Unlock ()
- Attribute
Ausnahmen
Die Bitmap wurde nicht durch einen Aufruf der Lock() Methoden gesperrt TryLock(Duration) .
Beispiele
Das folgende Codebeispiel zeigt, wie der Hintergrundpuffer mithilfe der Unlock Methode freigegeben wird.
// 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();
}
}
Hinweise
Die Unlock Methode erhöht die Sperranzahl. Wenn die Sperranzahl 0 erreicht, wird ein Renderdurchlauf angefordert, wenn die AddDirtyRect Methode aufgerufen wurde.