私はMVVMソフトウェアの設計パターンを習得しようとしています。私はマシュー・マクドナルドの本「WPF in C#2010」を持っています。 MVVMの学習を始めようと、私はWindowsClient.netのWebサイト、特にTodd Mirandaのビデオ、「MVVMパターンを使ったデータ駆動型WPFアプリケーションの構築方法」を見てきました。そこでは、RoutedCommandについて簡単に説明しますが、ICommandインターフェイスに基づいてRelayCommandというクラスを実装しています。これは有望だったが、私が開発しているウィンドウ(テキストボックスを持つ単純なウィンドウ、およびユーザーが入力したパラメータを使用して検索を行い、結果をリストボックスに返すボタン)が、トッドがしたこと。基本的には、私が書いたRelayCommandクラスにユーザが入力した検索パラメータを取得する方法を見つけることができません。これは、リストボックスに表示されるAllClientsを呼び出すObservableCollectionを返します。 MacDonaldの本はRoutedCommand、特にRoutedUICommandについて議論し、率直に言ってこれは私がしようとしていることに有望なものです。しかし、MVVMのパターンをよりよく理解するために、私はAmazonでMVVMパターンを学ぶのに役立つ本を簡単に見て、Gary Hallの "Pro WPF and Silverlight MVVM"のような本を見つけました。その本では、ホールはRoutedCommandルートが行く方法ではないことを強く示唆しているようです。それは問題であるため、RelayCommandを使用する方が良いです。なぜRelayCommandをRoutedCommandより優先しますか?
まあ、率直に言って、私は本当に混乱しています。まず、私はホールの議論を全く理解していない。 RoutedCommands(またはおそらくRoutedUICommandsも同様)をこのような悪い選択肢を使用しているのはなぜですか?なぜRelayCommandsを使用するのが優れているのですか?
可能な複製http://stackoverflow.com/questions/650010/mvvm-routed-and-relay-command – Ekk