私 はHomeViewModelとSellsViewModelを持っていました。
HomeViewModelには、プロパティ「SellID」があります
SellViewModelのコンストラクターで、HomeViewModelの参照を解決し、SellViewModelのm_objHomeViewModel変数に格納することができます。
SellViewModelのXAMLに、「SellID」を表示するテキストボックスがあります。このテキストボックスは「m_objHomeViewModel.SellID」にバインドされています。
私がこれを行っていることこれ を行うと、ユーザーがHomeViewModelで差「販売」を選択するたびに、自動的に私のSellViewModelがそれを取得し、SellViewの変更を表示します。
質問
SellViewのXAMLテキストボックスはHomeViewModelのプロパティにバインドされているため、変更はすぐにUIに反映されます。
しかし、SellViewModelでイベント(プロパティの変更など)をキャッチできません。そのようなイベントをキャッチすると、データベースから選択した「SellID」の他の値をロードしたいと思います。
EventAgreegatorを使用していません。使用すれば、HomeViewModelによって公開されたSellViewModelのイベントを簡単にサブスクライブできます
Q1:Event Agreegatorを使用せずにそれを行うにはどうすればよいですか?
Q2:XAMLで、TextBoxがプロパティm_objHomeViewModel.SellIDにバインドされている場合、メモリリークが発生しますか?
Q3:HomeViewModelにある場合、(container.resolveを使用して)SellViewModelへの参照を取得し、HomeViewModelの「SellID」プロパティが変更されるたびにSellViewModelのパブリックプロパティまたはメソッドを呼び出します。それは良いプログラミングの習慣ですか?ここでは、HomeViewModelとSellViewModelの間に緊密な結合が作成されると思います
これについて提案してください...
よろしく