示例#1
0
 protected override void OnUnloaded()
 {
     this.DataContext = null;
     this.viewModel.InheritedViewModel = null;
     this.viewModel.Dispose();
     this.viewModel = null;
 }
        public ViewModelControlRecipeBreakdown(IViewModelWithRecipe inheritedViewModel)
        {
            this.InheritedViewModel = inheritedViewModel;

            ((BaseViewModel)this.inheritedViewModel).PropertyChanged
                += this.InheritedViewModelOnPropertyChangedHandler;

            this.RefreshRecipe();
        }
        private static void InjectControl(Control control, IViewModelWithRecipe viewModel)
        {
            var windowWrapper = VisualTreeHelperExtension.FindParentOfType(control, typeof(BaseUserControlWithWindow));
            var window        = ((BaseUserControlWithWindow)windowWrapper).Window;

            var controlRecipeBreakdown = new ControlRecipeBreakdown();

            controlRecipeBreakdown.InheritedViewModel = viewModel;

            InjectedControls.Add(control, controlRecipeBreakdown);
            window.AddExtensionControl(controlRecipeBreakdown);
        }
 private void RecipesBrowserRecipeDetailsControlLoadedHandler(
     RecipesBrowserRecipeDetailsControl control,
     IViewModelWithRecipe viewModel)
 {
     InjectControl(control, viewModel);
 }
 private static void CraftingRecipeDetailsControlLoadedHandler(
     CraftingRecipeDetailsControl control,
     IViewModelWithRecipe viewModel)
 {
     InjectControl(control, viewModel);
 }