これを達成する最良の方法はわかりません。MEFデータを必要とするViewModelをSilverlight用にインポートする
public partial class MyPage : Page
{
[Import]
public MyVM ViewModel
{
get { return DataContext as MyVM ; }
set { DataContext = value; }
}
public String EventName { get; set; }
public MyPage()
{
InitializeComponent();
CompositionInitializer.SatisfyImports(this);
}
// Executes when the user navigates to this page.
protected override void OnNavigatedTo(NavigationEventArgs e)
{ }
}
そして、私のVM:
[Export]
public class MyVM : ViewModelBase
{
public MyVM()
{
}
}
これは素晴らしい作品ここに私の見解です。しかし、私は文字列を持っているviewmodelかURLからデータを取得する必要があります。どちらの方法でも、MEFを使用してMyVWに文字列を取得する最善の方法はわかりません。 私はMVVMLightからのメッセージングを使用しますが、MyVMクラスはまだ他のViewModelからブロードキャストを受信するためにインスタンス化されていません。
[Export("hello")]
public String MyHello { get; set; }
が、それは私にエラーを与えた:
[Export]
public class MyVM : ViewModelBase
{
public MyVM ([Import("hello")]string hello)
{
}
}
、その後ビューでこれを置く:それでは、私はこれを試してみましょう、よく考えました。 1つ以上のExportAttributesでマークされているため、 'Form A'型のオブジェクトでSatisfyImportsを呼び出すことはできません。
これを達成するための最良の方法は何ですか?
あなたはどこからどこのVMにデータを渡したいですか? –
@ derek-beattie別のビューモデルまたはビューから(URLから) – Mike