Compartilhar via


SvgImageSource.SetSourceAsync(IRandomAccessStream) Método

Definição

Define o SVG de origem para um SvgImageSource acessando um fluxo e processando o resultado de forma assíncrona.

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)

Parâmetros

streamSource
IRandomAccessStream

A origem do fluxo que define o valor de origem SVG.

Retornos

Um valor SvgImageSourceLoadStatus que indica se a operação foi bem-sucedida. Se falhou, indica o motivo da falha.

Atributos

Exemplos

Este exemplo mostrado aqui usa um fluxo de arquivos (obtido usando um seletor de arquivos, não mostrado) para carregar uma fonte de imagem chamando SetSourceAsync(IRandomAccessStream). O seletor de arquivos, o fluxo e a chamada para SetSourceAsync(IRandomAccessStream) são todos assíncronos.

// 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;
}

Comentários

Definir uma origem SVG chamando o método assíncrono SetSourceAsync(IRandomAccessStream) evita bloquear o thread da interface do usuário. Para obter mais informações sobre como usar assíncrono ou aguardar, consulte Chamar APIs assíncronas em C# ou Visual Basic. Se o aplicativo alterar a origem do SVG novamente por meio de SetSourceAsync(IRandomAccessStream) ou UriSource enquanto uma chamada SetSourceAsync(IRandomAccessStream) já estiver em andamento, a ação pendente SetSourceAsync(IRandomAccessStream) lançará uma TaskCanceledException.

Aplica-se a