Поделиться через


SvgImageSource.SetSourceAsync(IRandomAccessStream) Метод

Определение

Задает исходный SVG для SvgImageSource путем доступа к потоку и асинхронной обработки результата.

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)

Параметры

streamSource
IRandomAccessStream

Источник потока, задающий значение источника SVG.

Возвращаемое значение

Значение SvgImageSourceLoadStatus , указывающее, успешно ли выполнена операция. Если произошел сбой, указывает причину сбоя.

Атрибуты

Примеры

В этом примере используется файловый поток (полученный с помощью средства выбора файлов, не показанный) для загрузки источника изображения путем вызова Метода SetSourceAsync(IRandomAccessStream). Средство выбора файлов, поток и вызов SetSourceAsync(IRandomAccessStream) являются асинхронными.

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

Комментарии

Установка источника SVG путем вызова асинхронного метода SetSourceAsync(IRandomAccessStream) позволяет избежать блокировки потока пользовательского интерфейса. Дополнительные сведения об использовании async или await см. в статье Вызов асинхронных API в C# или Visual Basic. Если приложение снова изменит источник SVG с помощью SetSourceAsync(IRandomAccessStream) или UriSource во время вызова SetSourceAsync(IRandomAccessStream) уже выполняется, ожидающее действие SetSourceAsync(IRandomAccessStream) вызовет исключение TaskCanceledException.

Применяется к