ModernWindow の ContentSource プロパティを使用して、ビュー セットの DataContext を取得する必要があります。助けてください。Modern UI で MVVM フレームワークを使用しています。別のウィンドウを表示する必要がある ViewModel コードは次のとおりです。
public void ShowPrompt()
{
this.PromptWindow = ObjectFactory.GetInstance<IPromptWindowViewModel>().Window as ModernWindow;
this.PromptWindow.Owner = Application.Current.MainWindow;
this.PWPMainViewModel.PromptWindowsCollection.Add(this.PromptWindow);
// Here I need to get the DataContext of PromptWindow's Content
this.PromptWindow.Show();
}
デバッグを行ったところ、「OnNavigatedTo」イベントで ModernUI から IContent インターフェイスを継承していることがわかった
public void OnNavigatedTo(FirstFloor.ModernUI.Windows.Navigation.NavigationEventArgs e)
{
IPWPMainViewModel pwpMainViewModel = ObjectFactory.GetInstance<IPWPMainViewModel>();
pwpMainViewModel.PromptMainsCollection.Add(new ContentControl { Content = e.Content });
IPromptMainViewModel promptMainViewModel = ((UserControl)e.Content).DataContext as IPromptMainViewModel;
}
ここで、「IPromptMainViewModel」タイプの ModernWindow のコンテンツの DataContext を取得できますが、ビューのインスタンスが複数あるため、ビューをこの ModernWindow にマップ/ロードするのは非常に困難ですが、ViewModel で実行したいと思います。モデルがビューに正しく関連付けられるため、「ShowPrompt()」が存在するため、ビューを簡単にマップできます。
ありがとうございました。