次の方法で共有


DataProviderRequest.GetDeferral メソッド

定義

public:
 virtual DataProviderDeferral ^ GetDeferral() = GetDeferral;
DataProviderDeferral GetDeferral();
public DataProviderDeferral GetDeferral();
function getDeferral()
Public Function GetDeferral () As DataProviderDeferral

戻り値

データ プロバイダーの遅延オブジェクト。

async void OnDeferredImageRequestedHandler(DataProviderRequest request)
{
    // Provide updated bitmap data using delayed rendering.
    if (this.imageStream != null)
    {
        DataProviderDeferral deferral = request.GetDeferral();
        InMemoryRandomAccessStream inMemoryStream = new InMemoryRandomAccessStream();

        // Decode the image.
        BitmapDecoder imageDecoder = await BitmapDecoder.CreateAsync(this.imageStream);

        // Re-encode the image at 50% width and height.
        BitmapEncoder imageEncoder = await BitmapEncoder.CreateForTranscodingAsync(inMemoryStream, imageDecoder);
        imageEncoder.BitmapTransform.ScaledWidth = (uint)(imageDecoder.OrientedPixelHeight * 0.5);
        imageEncoder.BitmapTransform.ScaledHeight = (uint)(imageDecoder.OrientedPixelHeight * 0.5);
        await imageEncoder.FlushAsync();

        request.SetData(RandomAccessStreamReference.CreateFromStream(inMemoryStream));
        deferral.Complete();
    }
}

注釈

詳細については、「要求されたデータを非同期的に生成する方法」をチェック。

適用対象