メトロ アプリケーションで MVVM のイベントをどのように処理しますか? WPF で MVVM light のインタラクション クラスと EventToCommand を使用しましたが、WinRT にはインタラクションがないようです。トリガーもありませんので、「醜い方法を使用する」必要がありますか? (コードビハインドと
(this.DataContext as ViewModel).Command.Execute()
例えば?)
メトロ アプリケーションで MVVM のイベントをどのように処理しますか? WPF で MVVM light のインタラクション クラスと EventToCommand を使用しましたが、WinRT にはインタラクションがないようです。トリガーもありませんので、「醜い方法を使用する」必要がありますか? (コードビハインドと
(this.DataContext as ViewModel).Command.Execute()
例えば?)
これまでに見つけた EventToCommand の最良の代替手段は、このCodeProject の記事で説明されている添付のコマンド ソリューションです。
そして、それはそれが使用される方法です。
<Button Content="Test Button"
local:AttachedCommand.RoutedEvent="PointerEntered"
local:AttachedCommand.Command="{Binding TestCommand}"/>
もう 1 つの代替手段は、 Joost van Schaik によるEventToCommand動作の模倣ですが、必要な依存関係を考えると、私には重すぎました。
ビューモデルへのバインドがインターフェイスとそれを実装するクラスを使用することを除いて、Silverlight で行うのと同じ方法を使用してコマンドをアタッチします。このクラスは、datacontext でロケーターとして使用し、app.xaml.cs ファイルでも宣言する必要があります。詳細が必要な場合はお知らせください。