6

いくつかのカスタム .NET ストリームを WINRT に移植しています。言語はC#です。

IAsyncOperationWithProgress の実装例はありますか? Windows.Storage.Streams のメソッド ReadAsync、WriteAsync にはそれらが必要なので。カスタム WinRT ストリームの実装も歓迎されます。

create_async を使用する C の例をいくつか見つけましたが、これを C# で実行しようとしていますが、Metro フレームワークで create_async を見つけることができません。

前もって感謝します

4

2 に答える 2

4

以下は、IAsyncOperationWithProgress を使用して XAP ファイルをプログラムでインストールする進行状況を表示する例です。私はWin8開発にかなり慣れていないので、完全に慣用的かどうかはわかりません。

進行状況を UI スレッドにマーシャリングする Dispatcher.BeginInvoke に注意してください。それが役に立てば幸い:

private async void InstallApp(string name, Uri uri)
{
    try
    {
        StatusTextBlock.Text = "Installing app";
        var installTask = InstallationManager.AddPackageAsync(name, uri);

        installTask.Progress = (installResult, progress) => Dispatcher.BeginInvoke(() =>
        {
            StatusTextBlock.Text = "Progress: " + progress;
        });

        var result = await installTask;
        StatusTextBlock.Text = "Done: " + result.InstallState.ToString();
    }
    catch (Exception ex)
    {
        StatusTextBlock.Text = "Failed to install: " + ex.Message;
    }
}
于 2013-01-09T22:14:07.120 に答える