/// <summary> /// 編集用View /// </summary> /// <param name="settings"></param> /// <param name="logger"></param> /// <param name="viewModel">DataContext</param> /// <returns></returns> public UserControl CreateRecipeViewerViewInstance(IBaseSettings settings, ILogger logger, IRecipeViewModel viewModel) { return(new Views.RecipeViewer { DataContext = viewModel }); }
/// <summary> /// レシピViewModelをキーにして編集用レシピViewの生成 /// </summary> /// <param name="settings"></param> /// <param name="logger"></param> /// <param name="recipeVm">レシピViewModel</param> /// <returns><paramref name="settings"/>をDataContextに設定した編集用レシピView</returns> internal static UserControl CreateRecipeEditorViewInstance(ISettings settings, ILogger logger, IRecipeViewModel recipeVm) { if (recipeVm == null) { return(null); } return(DispatcherHelper.UIDispatcher.Invoke(() => { return RecipeSitePlugins .Single(p => p.ViewModelType == recipeVm.GetType()) .CreateRecipeEditorViewInstance(settings, logger, recipeVm); })); }