Freigeben über


SvgImageSource.SetSourceAsync(IRandomAccessStream) Methode

Definition

Legt das Quell-SVG für eine SvgImageSource fest, indem auf einen Stream zugegriffen und das Ergebnis asynchron verarbeitet wird.

public:
 virtual IAsyncOperation<SvgImageSourceLoadStatus> ^ SetSourceAsync(IRandomAccessStream ^ streamSource) = SetSourceAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<SvgImageSourceLoadStatus> SetSourceAsync(IRandomAccessStream const& streamSource);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<SvgImageSourceLoadStatus> SetSourceAsync(IRandomAccessStream streamSource);
function setSourceAsync(streamSource)
Public Function SetSourceAsync (streamSource As IRandomAccessStream) As IAsyncOperation(Of SvgImageSourceLoadStatus)

Parameter

streamSource
IRandomAccessStream

Die Streamquelle, die den Wert der SVG-Quelle festlegt.

Gibt zurück

Ein SvgImageSourceLoadStatus-Wert , der angibt, ob der Vorgang erfolgreich war. Wenn ein Fehler aufgetreten ist, gibt den Grund für den Fehler an.

Attribute

Beispiele

Dieses hier gezeigte Beispiel verwendet einen Dateidatenstrom (abgerufen mit einer Dateiauswahl, nicht angezeigt), um eine Bildquelle zu laden, indem SetSourceAsync(IRandomAccessStream) aufgerufen wird. Die Dateiauswahl, der Stream und der Aufruf von SetSourceAsync(IRandomAccessStream) sind asynchron.

// Ensure the stream is disposed once the SVG is loaded
using (IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read))
{
    // Set the SVG source to the selected file
    SvgImageSource svgImage = new SvgImageSource();

    await svgImage.SetSourceAsync(fileStream);
    Scenario2Image.Source = svgImage;
}

Hinweise

Durch Festlegen einer SVG-Quelle durch Aufrufen der asynchronen SetSourceAsync(IRandomAccessStream)-Methode wird verhindert, dass der UI-Thread blockiert wird. Weitere Informationen zur Verwendung von async oder Await finden Sie unter Aufrufen asynchroner APIs in C# oder Visual Basic. Wenn die App die SVG-Quelle erneut über SetSourceAsync(IRandomAccessStream) oder UriSource ändert, während ein SetSourceAsync(IRandomAccessStream)-Aufruf bereits ausgeführt wird, löst die ausstehende SetSourceAsync(IRandomAccessStream)-Aktion eine TaskCanceledException aus.

Gilt für: