1

WinRTでUIイベントがトリガーされる順序は任意であるとどこかで読んだと思います。また、SilverlightやWPF、そして確かにWinFormsとは異なることを読んだと思います。WinFormsでは、たとえば、ボタンのClickイベントがGotFocusなどの後に発生することを確実に知ることができる方法が異なります(例は正しくない場合があります)。WinRTではできません。私は自分でいくつかの大まかなテストを行いましたが、それは正しいようです。イベントXが最初に発生する場合もあれば、Yが発生する場合もあります。

特に私があまり熟練していないSilverlightとWPFに関して、誰かが私のためにこれらの仮定を確認できますか?できれば、Microsoftの公式記事へのリンクを付けてください。

これは、特にデータバインドされたプロパティとの同期に関して、イベントハンドラーで実行できることと実行できないことに影響を与えるため、把握するための重要な概念であると思います。

4

1 に答える 1

0

WinRTは、運用モデルを完全に再定義したものです。しかし、それらの言葉があなたを怖がらせないでください。これが意味するのは、同期アクションがあったところはどこでも、それらは非同期アクションに変わったということです。

ただし、これが意味するのは、あるイベントが別のイベントの前に発生する可能性があると想定するのは正しいということです。ビルド済みのWinRTコントロールを使用すると、非同期を同期するために実行できることはあまりありませんが、カスタムコードを使用すると、呼び出しと応答のパターンを実装できます。

アプリ内のどこからでもイベントを公開およびサブスクライブできるようにするイベントアグリゲーターについてブログを書いています。

http://developingzack.blogspot.com/2012/09/what-why-and-how-event-aggregator.html

イベントのセットを作成することにより、元のイベントサブスクライバーが2番目のイベントを公開し、2番目のイベントサブスクリプションが3番目のイベントを...N番目の層に公開します。

これは、同期方法論の錯覚(および操​​作順序)を作成するための分離された方法でもあります。

応答に50ミリ秒以上かかる可能性のあるすべてのメソッドは、非同期として書き直されました。

これは、MSDNブログからの非同期のかなり詳細な説明です:http://blogs.msdn.com/b/windowsappdev/archive/2012/06/14/exposed-net-tasks-as-winrt-asynchronous-operations.aspx

于 2012-10-04T18:39:00.560 に答える