1

WinRTアプリケーションでリストボックスとコンボボックスの選択変更イベントを実装する必要があります。私はMvvmCrossを使用していますが、これはMvx固有の問題ではなくWinRTの問題です。System.Windows.InteractivityはWinRTアプリケーションでは使用できないため、i:Interaction.Triggersに基づく手法を使用できません。コードビハインドに切り替えることなく、真のMVVMの方法でバインディングを実装したいので、他のプラットフォームで可能な限り再利用できます。WinRTアプリに実装するための合理的なアプローチは何ですか?MvvmCrossサンプルに例は見つかりませんでした。

前もって感謝します

4

2 に答える 2

5

MvvmCross を使用した WinRT での動作を探している場合は、Windows.UI.Interactivity nuget パッケージ ( https://nuget.org/packages/Windows.UI.Interactivity ) を使用できるようになりました。

MvvmCross で使用する場合、既存の MvxEventToCommand クラス (TriggerAction(DependencyObject) ではなく、TriggerAction(FrameworkElement) から継承) にいくつかの小さな変更を加えたコピーを作成しました。魅力のように機能します。

于 2013-02-23T22:13:54.690 に答える
2

これはWinRT上のMvvmの一般的な問題だと思います

いくつかの不明な理由により、MicrosoftはWinRTにBehaviorsを含めませんでした。(時間がなくなった、Expression Blendの変更などのために望んでいないなどの理論があります...)

これを回避する方法については、かなりの数のブログ投稿と記事があります。そのほとんどは、JoostvanSchaikの優れたライブラリを中心にしています。

私はこれを自分で行っていません-私はSelectionChangedを使用せず、代わりにICommand各ListItem内にsを配置する傾向があります。Joostのライブラリが機能するようになったら、サンプルを見てみたいです:)

于 2013-01-18T10:00:41.317 に答える