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.