0

次のようなViewModelが1つあります。

public class TaskTrayViewModel<T> : ViewModelBase where T : IBlotterRow, new()
{ }

この ViewModel には 1 つのプロパティが含まれています。

private Product sp;
public Product selectedProduct
{
   get { return sp; }
   set
   {
    sp = value; 
   }

}

BlotterCriteriaViewModel(他のviewModel)でこのプロパティ(値)にアクセスしたいです。すべてのビューモデルは、InotiFyPropertyChange を実装しています。関連する質問をいくつか読みましたが、何も得られませんでした。フレームワーク (prism、galasoft) を使用していませんか?

ここでプロパティ(値)を渡す方法は? よろしくおねがいします>

4

1 に答える 1

1

さて、少なくとも2つの方法があります。

  1. 直接的な方法:のインスタンスは、BlotterCriteriaViewModelのインスタンスへの参照を取得しますTaskTrayViewModel(構築時、または値が必要な時点で)。参照TaskTrayViewModelがあると、パブリックプロパティに簡単にアクセスできます。
  2. 間接的な方法:のインスタンスは、イベントから参照をBlotterCriteriaViewModel取得し、イベントにサブスクライブします。プロパティの初期値は取得されませんが、プロパティが変更されるとすぐにイベントが取得され、イベント引数で新しい値を確認できます。INotifyPropertyChangeTaskTrayViewModelPropertyChanged

これらのいずれかに問題がありますか?

于 2012-11-19T10:27:18.073 に答える